langgraph-api 0.5.1__tar.gz → 0.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (147) hide show
  1. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/PKG-INFO +2 -2
  2. langgraph_api-0.5.3/langgraph_api/__init__.py +1 -0
  3. langgraph_api-0.5.3/langgraph_api/grpc_ops/config_conversion.py +225 -0
  4. langgraph_api-0.5.3/langgraph_api/grpc_ops/generated/core_api_pb2.py +275 -0
  5. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/generated/core_api_pb2.pyi +14 -25
  6. langgraph_api-0.5.3/langgraph_api/grpc_ops/generated/engine_common_pb2.py +191 -0
  7. langgraph_api-0.5.3/langgraph_api/grpc_ops/generated/engine_common_pb2.pyi +637 -0
  8. langgraph_api-0.5.3/langgraph_api/grpc_ops/generated/engine_common_pb2_grpc.py +24 -0
  9. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/ops.py +26 -156
  10. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/package.json +5 -5
  11. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/yarn.lock +137 -187
  12. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/pyproject.toml +2 -2
  13. langgraph_api-0.5.1/langgraph_api/__init__.py +0 -1
  14. langgraph_api-0.5.1/langgraph_api/grpc_ops/generated/core_api_pb2.py +0 -276
  15. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/.gitignore +0 -0
  16. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/LICENSE +0 -0
  17. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/Makefile +0 -0
  18. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/README.md +0 -0
  19. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/.gitignore +0 -0
  20. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/Makefile +0 -0
  21. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/README.md +0 -0
  22. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/benchmark-runners/assistant.js +0 -0
  23. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/benchmark-runners/benchmark-runner.js +0 -0
  24. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/benchmark-runners/benchmarks.js +0 -0
  25. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/benchmark-runners/stream_write.js +0 -0
  26. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/benchmark-runners/wait_write.js +0 -0
  27. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/burst.js +0 -0
  28. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/capacity_k6.js +0 -0
  29. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/capacity_runner.mjs +0 -0
  30. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/capacity_urls.mjs +0 -0
  31. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/clean.js +0 -0
  32. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/graphs.js +0 -0
  33. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/package.json +0 -0
  34. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/ramp.js +0 -0
  35. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/reporting/dd_reporting.py +0 -0
  36. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/update-revision.js +0 -0
  37. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/benchmark/weather.js +0 -0
  38. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/constraints.txt +0 -0
  39. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/forbidden.txt +0 -0
  40. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/healthcheck.py +0 -0
  41. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/__init__.py +0 -0
  42. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/a2a.py +0 -0
  43. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/assistants.py +0 -0
  44. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/mcp.py +0 -0
  45. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/meta.py +0 -0
  46. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/openapi.py +0 -0
  47. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/runs.py +0 -0
  48. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/store.py +0 -0
  49. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/threads.py +0 -0
  50. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/api/ui.py +0 -0
  51. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/asgi_transport.py +0 -0
  52. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/asyncio.py +0 -0
  53. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/__init__.py +0 -0
  54. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/custom.py +0 -0
  55. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/langsmith/__init__.py +0 -0
  56. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/langsmith/backend.py +0 -0
  57. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/langsmith/client.py +0 -0
  58. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/middleware.py +0 -0
  59. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/noop.py +0 -0
  60. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/auth/studio_user.py +0 -0
  61. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/cli.py +0 -0
  62. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/command.py +0 -0
  63. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/config.py +0 -0
  64. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/cron_scheduler.py +0 -0
  65. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/errors.py +0 -0
  66. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/executor_entrypoint.py +0 -0
  67. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/feature_flags.py +0 -0
  68. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/graph.py +0 -0
  69. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/__init__.py +0 -0
  70. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/client.py +0 -0
  71. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/generated/__init__.py +0 -0
  72. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py +0 -0
  73. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/http.py +0 -0
  74. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/http_metrics.py +0 -0
  75. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/http_metrics_utils.py +0 -0
  76. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/.gitignore +0 -0
  77. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/.prettierrc +0 -0
  78. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/__init__.py +0 -0
  79. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/base.py +0 -0
  80. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/build.mts +0 -0
  81. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/client.http.mts +0 -0
  82. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/client.mts +0 -0
  83. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/errors.py +0 -0
  84. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/global.d.ts +0 -0
  85. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/remote.py +0 -0
  86. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/schema.py +0 -0
  87. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/graph.mts +0 -0
  88. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/load.hooks.mjs +0 -0
  89. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/preload.mjs +0 -0
  90. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/utils/files.mts +0 -0
  91. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/utils/importMap.mts +0 -0
  92. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  93. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/src/utils/serde.mts +0 -0
  94. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/sse.py +0 -0
  95. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/traceblock.mts +0 -0
  96. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/tsconfig.json +0 -0
  97. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/js/ui.py +0 -0
  98. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/logging.py +0 -0
  99. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/metadata.py +0 -0
  100. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/middleware/__init__.py +0 -0
  101. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/middleware/http_logger.py +0 -0
  102. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/middleware/private_network.py +0 -0
  103. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/middleware/request_id.py +0 -0
  104. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/models/__init__.py +0 -0
  105. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/models/run.py +0 -0
  106. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/patch.py +0 -0
  107. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/queue_entrypoint.py +0 -0
  108. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/route.py +0 -0
  109. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/schema.py +0 -0
  110. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/self_hosted_logs.py +0 -0
  111. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/self_hosted_metrics.py +0 -0
  112. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/serde.py +0 -0
  113. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/server.py +0 -0
  114. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/sse.py +0 -0
  115. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/state.py +0 -0
  116. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/store.py +0 -0
  117. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/stream.py +0 -0
  118. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/thread_ttl.py +0 -0
  119. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/traceblock.py +0 -0
  120. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/tunneling/cloudflare.py +0 -0
  121. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/__init__.py +0 -0
  122. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/cache.py +0 -0
  123. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/config.py +0 -0
  124. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/errors.py +0 -0
  125. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/future.py +0 -0
  126. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/headers.py +0 -0
  127. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/retriable_client.py +0 -0
  128. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/stream_codec.py +0 -0
  129. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/utils/uuids.py +0 -0
  130. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/validation.py +0 -0
  131. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/webhook.py +0 -0
  132. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_api/worker.py +0 -0
  133. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_license/__init__.py +0 -0
  134. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_license/validation.py +0 -0
  135. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/__init__.py +0 -0
  136. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/checkpoint.py +0 -0
  137. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/database.py +0 -0
  138. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/lifespan.py +0 -0
  139. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/metrics.py +0 -0
  140. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/ops.py +0 -0
  141. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/queue.py +0 -0
  142. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/retry.py +0 -0
  143. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/langgraph_runtime/store.py +0 -0
  144. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/logging.json +0 -0
  145. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/openapi.json +0 -0
  146. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/scripts/create_license.py +0 -0
  147. {langgraph_api-0.5.1 → langgraph_api-0.5.3}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.5.1
3
+ Version: 0.5.3
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
@@ -13,7 +13,7 @@ Requires-Dist: httpx>=0.25.0
13
13
  Requires-Dist: jsonschema-rs<0.30,>=0.20.0
14
14
  Requires-Dist: langchain-core>=0.3.64
15
15
  Requires-Dist: langgraph-checkpoint<4,>=3
16
- Requires-Dist: langgraph-runtime-inmem<0.16.0,>=0.15.0
16
+ Requires-Dist: langgraph-runtime-inmem<0.17.0,>=0.16.0
17
17
  Requires-Dist: langgraph-sdk>=0.2.0
18
18
  Requires-Dist: langgraph<2,>=0.4.10
19
19
  Requires-Dist: langsmith>=0.3.45
@@ -0,0 +1 @@
1
+ __version__ = "0.5.3"
@@ -0,0 +1,225 @@
1
+ """Conversion utils for the RunnableConfig."""
2
+
3
+ # THIS IS DUPLICATED
4
+ # TODO: WFH - Deduplicate with the executor logic by moving into a separate package
5
+ # Sequencing in the next PR.
6
+ from typing import Any, cast
7
+
8
+ import orjson
9
+ from langchain_core.runnables.config import RunnableConfig
10
+
11
+ from langgraph_api.grpc_ops.generated import engine_common_pb2
12
+
13
+ CONFIG_KEY_SEND = "__pregel_send"
14
+ CONFIG_KEY_READ = "__pregel_read"
15
+ CONFIG_KEY_RESUMING = "__pregel_resuming"
16
+ CONFIG_KEY_TASK_ID = "__pregel_task_id"
17
+ CONFIG_KEY_THREAD_ID = "thread_id"
18
+ CONFIG_KEY_CHECKPOINT_MAP = "checkpoint_map"
19
+ CONFIG_KEY_CHECKPOINT_ID = "checkpoint_id"
20
+ CONFIG_KEY_CHECKPOINT_NS = "checkpoint_ns"
21
+ CONFIG_KEY_SCRATCHPAD = "__pregel_scratchpad"
22
+ CONFIG_KEY_DURABILITY = "__pregel_durability"
23
+ CONFIG_KEY_GRAPH_ID = "graph_id"
24
+
25
+
26
+ def _durability_to_proto(
27
+ durability: str,
28
+ ) -> engine_common_pb2.Durability:
29
+ match durability:
30
+ case "async":
31
+ return engine_common_pb2.Durability.ASYNC
32
+ case "sync":
33
+ return engine_common_pb2.Durability.SYNC
34
+ case "exit":
35
+ return engine_common_pb2.Durability.EXIT
36
+ case _:
37
+ raise ValueError(f"invalid durability: {durability}")
38
+
39
+
40
+ def _durability_from_proto(
41
+ durability: engine_common_pb2.Durability,
42
+ ) -> str:
43
+ match durability:
44
+ case engine_common_pb2.Durability.ASYNC:
45
+ return "async"
46
+ case engine_common_pb2.Durability.SYNC:
47
+ return "sync"
48
+ case engine_common_pb2.Durability.EXIT:
49
+ return "exit"
50
+ case _:
51
+ raise ValueError(f"invalid durability: {durability}")
52
+
53
+
54
+ def config_to_proto(
55
+ config: RunnableConfig,
56
+ ) -> engine_common_pb2.EngineRunnableConfig | None:
57
+ # Prepare kwargs for construction
58
+ if not config:
59
+ return None
60
+ cp = {**config}
61
+ pb_config = engine_common_pb2.EngineRunnableConfig()
62
+ for k, v in (cp.pop("metadata", None) or {}).items():
63
+ if k == "run_attempt":
64
+ pb_config.run_attempt = v
65
+ elif k == "run_id":
66
+ pb_config.server_run_id = str(v)
67
+ else:
68
+ pb_config.metadata_json[k] = orjson.dumps(v)
69
+ if run_name := cp.pop("run_name", None):
70
+ pb_config.run_name = run_name
71
+
72
+ if run_id := cp.pop("run_id", None):
73
+ pb_config.run_id = str(run_id)
74
+
75
+ if (max_concurrency := cp.pop("max_concurrency", None)) and isinstance(
76
+ max_concurrency, int
77
+ ):
78
+ pb_config.max_concurrency = max_concurrency
79
+
80
+ if (recursion_limit := cp.pop("recursion_limit", None)) and isinstance(
81
+ recursion_limit, int
82
+ ):
83
+ pb_config.recursion_limit = recursion_limit
84
+
85
+ # Handle collections after construction
86
+ if (tags := cp.pop("tags", None)) and isinstance(tags, list):
87
+ pb_config.tags.extend(tags)
88
+
89
+ if (configurable := cp.pop("configurable", None)) and isinstance(
90
+ configurable, dict
91
+ ):
92
+ _inject_configurable_into_proto(configurable, pb_config)
93
+ if cp:
94
+ pb_config.extra_json.update({k: orjson.dumps(v) for k, v in cp.items()})
95
+
96
+ return pb_config
97
+
98
+
99
+ RESTRICTED_RESERVED_CONFIGURABLE_KEYS = {
100
+ CONFIG_KEY_SEND,
101
+ CONFIG_KEY_READ,
102
+ CONFIG_KEY_SCRATCHPAD,
103
+ }
104
+
105
+
106
+ def _inject_configurable_into_proto(
107
+ configurable: dict[str, Any], proto: engine_common_pb2.EngineRunnableConfig
108
+ ) -> None:
109
+ extra = {}
110
+ for key, value in configurable.items():
111
+ if key == CONFIG_KEY_RESUMING:
112
+ proto.resuming = bool(value)
113
+ elif key == CONFIG_KEY_TASK_ID:
114
+ proto.task_id = str(value)
115
+ elif key == CONFIG_KEY_THREAD_ID:
116
+ proto.thread_id = str(value)
117
+ elif key == CONFIG_KEY_CHECKPOINT_MAP:
118
+ proto.checkpoint_map.update(cast(dict[str, str], value))
119
+ elif key == CONFIG_KEY_CHECKPOINT_ID:
120
+ proto.checkpoint_id = str(value)
121
+ elif key == CONFIG_KEY_CHECKPOINT_NS:
122
+ proto.checkpoint_ns = str(value)
123
+ elif key == CONFIG_KEY_DURABILITY and value:
124
+ proto.durability = _durability_to_proto(value)
125
+ elif key not in RESTRICTED_RESERVED_CONFIGURABLE_KEYS:
126
+ extra[key] = value
127
+ if extra:
128
+ proto.extra_configurable_json.update(
129
+ {k: orjson.dumps(v) for k, v in extra.items()}
130
+ )
131
+
132
+
133
+ def context_to_json_bytes(context: dict[str, Any] | Any) -> bytes | None:
134
+ """Convert context to JSON bytes for proto serialization."""
135
+ if context is None:
136
+ return None
137
+
138
+ # Convert dataclass or other objects to dict if needed
139
+ if hasattr(context, "__dict__") and not hasattr(context, "items"):
140
+ # Convert dataclass to dict
141
+ context_dict = context.__dict__
142
+ elif hasattr(context, "items"):
143
+ # Already a dict-like object
144
+ context_dict = dict(context)
145
+ else:
146
+ # Try to convert to dict using vars()
147
+ context_dict = vars(context) if hasattr(context, "__dict__") else {}
148
+
149
+ return orjson.dumps(context_dict)
150
+
151
+
152
+ def config_from_proto(
153
+ config_proto: engine_common_pb2.EngineRunnableConfig | None,
154
+ ) -> RunnableConfig:
155
+ if not config_proto:
156
+ return RunnableConfig(tags=[], metadata={}, configurable={})
157
+
158
+ configurable = _configurable_from_proto(config_proto)
159
+
160
+ metadata = {}
161
+ for k, v in config_proto.metadata_json.items():
162
+ metadata[k] = orjson.loads(v)
163
+ if config_proto.HasField("run_attempt"):
164
+ metadata["run_attempt"] = config_proto.run_attempt
165
+ if config_proto.HasField("server_run_id"):
166
+ metadata["run_id"] = config_proto.server_run_id
167
+
168
+ config = RunnableConfig()
169
+ if config_proto.extra_json:
170
+ for k, v in config_proto.extra_json.items():
171
+ config[k] = orjson.loads(v) # type: ignore[invalid-key]
172
+ if config_proto.tags:
173
+ config["tags"] = list(config_proto.tags)
174
+ if metadata:
175
+ config["metadata"] = metadata
176
+ if configurable:
177
+ config["configurable"] = configurable
178
+ if config_proto.HasField("run_name"):
179
+ config["run_name"] = config_proto.run_name
180
+
181
+ if config_proto.HasField("max_concurrency"):
182
+ config["max_concurrency"] = config_proto.max_concurrency
183
+
184
+ if config_proto.HasField("recursion_limit"):
185
+ config["recursion_limit"] = config_proto.recursion_limit
186
+
187
+ return config
188
+
189
+
190
+ def _configurable_from_proto(
191
+ config_proto: engine_common_pb2.EngineRunnableConfig,
192
+ ) -> dict[str, Any]:
193
+ configurable = {}
194
+
195
+ if config_proto.HasField("resuming"):
196
+ configurable[CONFIG_KEY_RESUMING] = config_proto.resuming
197
+
198
+ if config_proto.HasField("task_id"):
199
+ configurable[CONFIG_KEY_TASK_ID] = config_proto.task_id
200
+
201
+ if config_proto.HasField("thread_id"):
202
+ configurable[CONFIG_KEY_THREAD_ID] = config_proto.thread_id
203
+
204
+ if config_proto.HasField("checkpoint_id"):
205
+ configurable[CONFIG_KEY_CHECKPOINT_ID] = config_proto.checkpoint_id
206
+
207
+ if config_proto.HasField("checkpoint_ns"):
208
+ configurable[CONFIG_KEY_CHECKPOINT_NS] = config_proto.checkpoint_ns
209
+
210
+ if config_proto.HasField("durability"):
211
+ durability = _durability_from_proto(config_proto.durability)
212
+ if durability:
213
+ configurable[CONFIG_KEY_DURABILITY] = durability
214
+
215
+ if config_proto.HasField("graph_id"):
216
+ configurable[CONFIG_KEY_GRAPH_ID] = config_proto.graph_id
217
+
218
+ if len(config_proto.checkpoint_map) > 0:
219
+ configurable[CONFIG_KEY_CHECKPOINT_MAP] = dict(config_proto.checkpoint_map)
220
+
221
+ if len(config_proto.extra_configurable_json) > 0:
222
+ for k, v in config_proto.extra_configurable_json.items():
223
+ configurable[k] = orjson.loads(v)
224
+
225
+ return configurable
@@ -0,0 +1,275 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: core-api.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'core-api.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
26
+ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
27
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
28
+ from . import engine_common_pb2 as engine__common__pb2
29
+
30
+
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13\x65ngine-common.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"\x1d\n\x0c\x45qAuthFilter\x12\r\n\x05match\x18\x01 \x01(\t\"=\n\x12\x43ontainsAuthFilter\x12\'\n\x07matches\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value\"l\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\x98\x03\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\t \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xef\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x0e\n\x0c_description\"\xc7\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.coreApi.CreateAssistantRequest.FiltersEntry\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x32\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfig\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xac\x01\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.GetAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd6\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12<\n\x07\x66ilters\x18\x02 \x03(\x0b\x32+.coreApi.PatchAssistantRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\n\n\x08_contextB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xb2\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12=\n\x07\x66ilters\x18\x02 \x03(\x0b\x32,.coreApi.DeleteAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"\xc9\x01\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.coreApi.SetLatestAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc6\x03\n\x17SearchAssistantsRequest\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32-.coreApi.SearchAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xb7\x02\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x42\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x31.coreApi.GetAssistantVersionsRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xfd\x01\n\x16\x43ountAssistantsRequest\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.coreApi.CountAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadata\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xac\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n\ninterrupts\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x05state\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x08\n\x06_state\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xb7\x02\n\x11\x43heckpointPayload\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\'\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04next\x18\x04 \x03(\t\x12>\n\rparent_config\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x80\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xbb\x03\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x06 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\x08 \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x12 \n\x05\x65rror\x18\t \x01(\x0b\x32\x11.coreApi.Fragment\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\"\xd9\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.CreateThreadRequest.FiltersEntry\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb2\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x02 \x03(\x0b\x32&.coreApi.GetThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xa7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x39\n\x07\x66ilters\x18\x02 \x03(\x0b\x32(.coreApi.PatchThreadRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb8\x01\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.DeleteThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xb4\x01\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.CopyThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\x89\x04\n\x14SearchThreadsRequest\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32*.coreApi.SearchThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xc3\x02\n\x13\x43ountThreadsRequest\x12:\n\x07\x66ilters\x18\x01 \x03(\x0b\x32).coreApi.CountThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_status\";\n\x17SweepThreadsTTLResponse\x12\x0f\n\x07\x65xpired\x18\x01 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x02 \x01(\x04\"J\n\x16SweepThreadsTTLRequest\x12\x12\n\nbatch_size\x18\x01 \x01(\x04\x12\x12\n\x05limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_limit\"\x94\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12%\n\x06status\x18\x02 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12\x33\n\ncheckpoint\x18\x03 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x0f\x65xpected_status\x18\x05 \x03(\x0e\x32\x15.coreApi.ThreadStatusB\r\n\x0b_checkpointB\x0c\n\n_exception\"\x87\x02\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x33\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xec\x01\n\x14JointRollbackRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08graph_id\x18\x03 \x01(\t\x12\x33\n\ncheckpoint\x18\x04 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xe2\x04\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12-\n\x07\x63ommand\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x03\x88\x01\x01\x12(\n\x0bstream_mode\x18\x05 \x01(\x0e\x32\x13.coreApi.StreamMode\x12\x18\n\x10interrupt_before\x18\x06 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x07 \x03(\t\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x05\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\x08\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\t\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x08\n\x06_inputB\n\n\x08_commandB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xf0\x02\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x06status\x18\x06 \x01(\x0e\x32\x12.coreApi.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x36\n\x12multitask_strategy\x18\t \x01(\x0e\x32\x1a.coreApi.MultitaskStrategy\"\x8a\x01\n\nQueueStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12\x19\n\x0cmax_age_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmed_age_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\x0f\n\r_max_age_secsB\x0f\n\r_med_age_secs\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"<\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\xe9\x05\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\'\n\x06kwargs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.CreateRunRequest.FiltersEntry\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12\'\n\x06status\x18\x07 \x01(\x0e\x32\x12.coreApi.RunStatusH\x03\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12;\n\x12multitask_strategy\x18\n \x01(\x0e\x32\x1a.coreApi.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x0b\n\t_metadataB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_seconds\"\xcb\x01\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x34\n\x07\x66ilters\x18\x03 \x03(\x0b\x32#.coreApi.GetRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd1\x01\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.DeleteRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xb3\x02\n\x10\x43\x61ncelRunRequest\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.coreApi.CancelRunRequest.FiltersEntry\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12-\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x18.coreApi.CancelRunActionH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xb6\x02\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.SearchRunsRequest.FiltersEntry\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\'\n\x06status\x18\x05 \x01(\x0e\x32\x12.coreApi.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"X\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.coreApi.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*v\n\x0cThreadStatus\x12\x16\n\x12THREAD_STATUS_IDLE\x10\x00\x12\x16\n\x12THREAD_STATUS_BUSY\x10\x01\x12\x1d\n\x19THREAD_STATUS_INTERRUPTED\x10\x02\x12\x17\n\x13THREAD_STATUS_ERROR\x10\x03*3\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xab\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04*\x9d\x01\n\tRunStatus\x12\x16\n\x12RUN_STATUS_PENDING\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x14\n\x10RUN_STATUS_ERROR\x10\x02\x12\x16\n\x12RUN_STATUS_SUCCESS\x10\x03\x12\x16\n\x12RUN_STATUS_TIMEOUT\x10\x04\x12\x1a\n\x16RUN_STATUS_INTERRUPTED\x10\x05*\xb9\x01\n\x11MultitaskStrategy\x12\"\n\x1eMULTITASK_STRATEGY_UNSPECIFIED\x10\x00\x12\x1d\n\x19MULTITASK_STRATEGY_REJECT\x10\x01\x12\x1f\n\x1bMULTITASK_STRATEGY_ROLLBACK\x10\x02\x12 \n\x1cMULTITASK_STRATEGY_INTERRUPT\x10\x03\x12\x1e\n\x1aMULTITASK_STRATEGY_ENQUEUE\x10\x04*\xef\x01\n\nStreamMode\x12\x1b\n\x17STREAM_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12STREAM_MODE_VALUES\x10\x01\x12\x18\n\x14STREAM_MODE_MESSAGES\x10\x02\x12\x17\n\x13STREAM_MODE_UPDATES\x10\x03\x12\x16\n\x12STREAM_MODE_EVENTS\x10\x04\x12\x15\n\x11STREAM_MODE_DEBUG\x10\x05\x12\x15\n\x11STREAM_MODE_TASKS\x10\x06\x12\x1b\n\x17STREAM_MODE_CHECKPOINTS\x10\x07\x12\x16\n\x12STREAM_MODE_CUSTOM\x10\x08*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*R\n\x0f\x43\x61ncelRunAction\x12\x1f\n\x1b\x43\x41NCEL_RUN_ACTION_INTERRUPT\x10\x00\x12\x1e\n\x1a\x43\x41NCEL_RUN_ACTION_ROLLBACK\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xcd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\rJointRollback\x12\x1d.coreApi.JointRollbackRequest\x1a\x16.google.protobuf.Empty\x12M\n\x08SweepTTL\x12\x1f.coreApi.SweepThreadsTTLRequest\x1a .coreApi.SweepThreadsTTLResponse2\x8b\x04\n\x04Runs\x12\x31\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x0c.coreApi.Run\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x13.coreApi.QueueStats\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
32
+
33
+ _globals = globals()
34
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
35
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'core_api_pb2', _globals)
36
+ if not _descriptor._USE_C_DESCRIPTORS:
37
+ _globals['DESCRIPTOR']._loaded_options = None
38
+ _globals['DESCRIPTOR']._serialized_options = b'Z?github.com/langchain-ai/langgraph-api/core/internal/core-api/pb'
39
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
40
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
41
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
42
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
43
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
44
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
45
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
46
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
47
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
48
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
49
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._loaded_options = None
50
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
51
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._loaded_options = None
52
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
53
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._loaded_options = None
54
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
55
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._loaded_options = None
56
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_options = b'8\001'
57
+ _globals['_THREAD_INTERRUPTSENTRY']._loaded_options = None
58
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_options = b'8\001'
59
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._loaded_options = None
60
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
61
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._loaded_options = None
62
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
63
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._loaded_options = None
64
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
65
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._loaded_options = None
66
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
67
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._loaded_options = None
68
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
69
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._loaded_options = None
70
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
71
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._loaded_options = None
72
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
73
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._loaded_options = None
74
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
75
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._loaded_options = None
76
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
77
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._loaded_options = None
78
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
79
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._loaded_options = None
80
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
81
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._loaded_options = None
82
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
83
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_start=12032
84
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_end=12079
85
+ _globals['_SORTORDER']._serialized_start=12081
86
+ _globals['_SORTORDER']._serialized_end=12111
87
+ _globals['_ASSISTANTSSORTBY']._serialized_start=12113
88
+ _globals['_ASSISTANTSSORTBY']._serialized_end=12222
89
+ _globals['_THREADSTATUS']._serialized_start=12224
90
+ _globals['_THREADSTATUS']._serialized_end=12342
91
+ _globals['_THREADTTLSTRATEGY']._serialized_start=12344
92
+ _globals['_THREADTTLSTRATEGY']._serialized_end=12395
93
+ _globals['_CHECKPOINTSOURCE']._serialized_start=12398
94
+ _globals['_CHECKPOINTSOURCE']._serialized_end=12566
95
+ _globals['_THREADSSORTBY']._serialized_start=12569
96
+ _globals['_THREADSSORTBY']._serialized_end=12740
97
+ _globals['_RUNSTATUS']._serialized_start=12743
98
+ _globals['_RUNSTATUS']._serialized_end=12900
99
+ _globals['_MULTITASKSTRATEGY']._serialized_start=12903
100
+ _globals['_MULTITASKSTRATEGY']._serialized_end=13088
101
+ _globals['_STREAMMODE']._serialized_start=13091
102
+ _globals['_STREAMMODE']._serialized_end=13330
103
+ _globals['_CREATERUNBEHAVIOR']._serialized_start=13332
104
+ _globals['_CREATERUNBEHAVIOR']._serialized_end=13428
105
+ _globals['_CANCELRUNACTION']._serialized_start=13430
106
+ _globals['_CANCELRUNACTION']._serialized_end=13512
107
+ _globals['_CANCELRUNSTATUS']._serialized_start=13514
108
+ _globals['_CANCELRUNSTATUS']._serialized_end=13620
109
+ _globals['_TAGS']._serialized_start=140
110
+ _globals['_TAGS']._serialized_end=162
111
+ _globals['_EQAUTHFILTER']._serialized_start=164
112
+ _globals['_EQAUTHFILTER']._serialized_end=193
113
+ _globals['_CONTAINSAUTHFILTER']._serialized_start=195
114
+ _globals['_CONTAINSAUTHFILTER']._serialized_end=256
115
+ _globals['_AUTHFILTER']._serialized_start=258
116
+ _globals['_AUTHFILTER']._serialized_end=366
117
+ _globals['_UUID']._serialized_start=368
118
+ _globals['_UUID']._serialized_end=389
119
+ _globals['_COUNTRESPONSE']._serialized_start=391
120
+ _globals['_COUNTRESPONSE']._serialized_end=421
121
+ _globals['_ASSISTANT']._serialized_start=424
122
+ _globals['_ASSISTANT']._serialized_end=832
123
+ _globals['_ASSISTANTVERSION']._serialized_start=835
124
+ _globals['_ASSISTANTVERSION']._serialized_end=1202
125
+ _globals['_CREATEASSISTANTREQUEST']._serialized_start=1205
126
+ _globals['_CREATEASSISTANTREQUEST']._serialized_end=1660
127
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1564
128
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1631
129
+ _globals['_GETASSISTANTREQUEST']._serialized_start=1663
130
+ _globals['_GETASSISTANTREQUEST']._serialized_end=1835
131
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1564
132
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1631
133
+ _globals['_PATCHASSISTANTREQUEST']._serialized_start=1838
134
+ _globals['_PATCHASSISTANTREQUEST']._serialized_end=2308
135
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1564
136
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1631
137
+ _globals['_DELETEASSISTANTREQUEST']._serialized_start=2311
138
+ _globals['_DELETEASSISTANTREQUEST']._serialized_end=2489
139
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1564
140
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1631
141
+ _globals['_DELETEASSISTANTSRESPONSE']._serialized_start=2491
142
+ _globals['_DELETEASSISTANTSRESPONSE']._serialized_end=2540
143
+ _globals['_SETLATESTASSISTANTREQUEST']._serialized_start=2543
144
+ _globals['_SETLATESTASSISTANTREQUEST']._serialized_end=2744
145
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1564
146
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1631
147
+ _globals['_SEARCHASSISTANTSREQUEST']._serialized_start=2747
148
+ _globals['_SEARCHASSISTANTSREQUEST']._serialized_end=3201
149
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1564
150
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1631
151
+ _globals['_SEARCHASSISTANTSRESPONSE']._serialized_start=3203
152
+ _globals['_SEARCHASSISTANTSRESPONSE']._serialized_end=3269
153
+ _globals['_GETASSISTANTVERSIONSREQUEST']._serialized_start=3272
154
+ _globals['_GETASSISTANTVERSIONSREQUEST']._serialized_end=3583
155
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_start=1564
156
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_end=1631
157
+ _globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_start=3585
158
+ _globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_end=3660
159
+ _globals['_COUNTASSISTANTSREQUEST']._serialized_start=3663
160
+ _globals['_COUNTASSISTANTSREQUEST']._serialized_end=3916
161
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1564
162
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1631
163
+ _globals['_TRUNCATEREQUEST']._serialized_start=3918
164
+ _globals['_TRUNCATEREQUEST']._serialized_end=4023
165
+ _globals['_THREADTTLCONFIG']._serialized_start=4026
166
+ _globals['_THREADTTLCONFIG']._serialized_end=4213
167
+ _globals['_FRAGMENT']._serialized_start=4215
168
+ _globals['_FRAGMENT']._serialized_end=4240
169
+ _globals['_CHECKPOINTTASK']._serialized_start=4243
170
+ _globals['_CHECKPOINTTASK']._serialized_end=4415
171
+ _globals['_CHECKPOINTMETADATA']._serialized_start=4418
172
+ _globals['_CHECKPOINTMETADATA']._serialized_end=4632
173
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_start=4566
174
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_end=4612
175
+ _globals['_CHECKPOINTPAYLOAD']._serialized_start=4635
176
+ _globals['_CHECKPOINTPAYLOAD']._serialized_end=4946
177
+ _globals['_INTERRUPT']._serialized_start=4949
178
+ _globals['_INTERRUPT']._serialized_end=5077
179
+ _globals['_INTERRUPTS']._serialized_start=5079
180
+ _globals['_INTERRUPTS']._serialized_end=5131
181
+ _globals['_THREAD']._serialized_start=5134
182
+ _globals['_THREAD']._serialized_end=5577
183
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_start=5507
184
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_end=5577
185
+ _globals['_CREATETHREADREQUEST']._serialized_start=5580
186
+ _globals['_CREATETHREADREQUEST']._serialized_end=5925
187
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_start=1564
188
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_end=1631
189
+ _globals['_GETTHREADREQUEST']._serialized_start=5928
190
+ _globals['_GETTHREADREQUEST']._serialized_end=6106
191
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_start=1564
192
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_end=1631
193
+ _globals['_PATCHTHREADREQUEST']._serialized_start=6109
194
+ _globals['_PATCHTHREADREQUEST']._serialized_end=6404
195
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_start=1564
196
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_end=1631
197
+ _globals['_DELETETHREADREQUEST']._serialized_start=6407
198
+ _globals['_DELETETHREADREQUEST']._serialized_end=6591
199
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_start=1564
200
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_end=1631
201
+ _globals['_COPYTHREADREQUEST']._serialized_start=6594
202
+ _globals['_COPYTHREADREQUEST']._serialized_end=6774
203
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_start=1564
204
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_end=1631
205
+ _globals['_SEARCHTHREADSREQUEST']._serialized_start=6777
206
+ _globals['_SEARCHTHREADSREQUEST']._serialized_end=7298
207
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_start=1564
208
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_end=1631
209
+ _globals['_SEARCHTHREADSRESPONSE']._serialized_start=7300
210
+ _globals['_SEARCHTHREADSRESPONSE']._serialized_end=7357
211
+ _globals['_COUNTTHREADSREQUEST']._serialized_start=7360
212
+ _globals['_COUNTTHREADSREQUEST']._serialized_end=7683
213
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_start=1564
214
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_end=1631
215
+ _globals['_SWEEPTHREADSTTLRESPONSE']._serialized_start=7685
216
+ _globals['_SWEEPTHREADSTTLRESPONSE']._serialized_end=7744
217
+ _globals['_SWEEPTHREADSTTLREQUEST']._serialized_start=7746
218
+ _globals['_SWEEPTHREADSTTLREQUEST']._serialized_end=7820
219
+ _globals['_SETTHREADSTATUSREQUEST']._serialized_start=7823
220
+ _globals['_SETTHREADSTATUSREQUEST']._serialized_end=8099
221
+ _globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_start=8102
222
+ _globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_end=8365
223
+ _globals['_JOINTROLLBACKREQUEST']._serialized_start=8368
224
+ _globals['_JOINTROLLBACKREQUEST']._serialized_end=8604
225
+ _globals['_RUNKWARGS']._serialized_start=8607
226
+ _globals['_RUNKWARGS']._serialized_end=9217
227
+ _globals['_RUN']._serialized_start=9220
228
+ _globals['_RUN']._serialized_end=9588
229
+ _globals['_QUEUESTATS']._serialized_start=9591
230
+ _globals['_QUEUESTATS']._serialized_end=9729
231
+ _globals['_NEXTRUNREQUEST']._serialized_start=9731
232
+ _globals['_NEXTRUNREQUEST']._serialized_end=9776
233
+ _globals['_RUNWITHATTEMPT']._serialized_start=9778
234
+ _globals['_RUNWITHATTEMPT']._serialized_end=9838
235
+ _globals['_NEXTRUNRESPONSE']._serialized_start=9840
236
+ _globals['_NEXTRUNRESPONSE']._serialized_end=9896
237
+ _globals['_CREATERUNREQUEST']._serialized_start=9899
238
+ _globals['_CREATERUNREQUEST']._serialized_end=10644
239
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_start=1564
240
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_end=1631
241
+ _globals['_GETRUNREQUEST']._serialized_start=10647
242
+ _globals['_GETRUNREQUEST']._serialized_end=10850
243
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_start=1564
244
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_end=1631
245
+ _globals['_DELETERUNREQUEST']._serialized_start=10853
246
+ _globals['_DELETERUNREQUEST']._serialized_end=11062
247
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_start=1564
248
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_end=1631
249
+ _globals['_CANCELRUNIDSTARGET']._serialized_start=11064
250
+ _globals['_CANCELRUNIDSTARGET']._serialized_end=11150
251
+ _globals['_CANCELSTATUSTARGET']._serialized_start=11152
252
+ _globals['_CANCELSTATUSTARGET']._serialized_end=11214
253
+ _globals['_CANCELRUNREQUEST']._serialized_start=11217
254
+ _globals['_CANCELRUNREQUEST']._serialized_end=11524
255
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_start=1564
256
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_end=1631
257
+ _globals['_SEARCHRUNSREQUEST']._serialized_start=11527
258
+ _globals['_SEARCHRUNSREQUEST']._serialized_end=11837
259
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_start=1564
260
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_end=1631
261
+ _globals['_SEARCHRUNSRESPONSE']._serialized_start=11839
262
+ _globals['_SEARCHRUNSRESPONSE']._serialized_end=11887
263
+ _globals['_SETRUNSTATUSREQUEST']._serialized_start=11889
264
+ _globals['_SETRUNSTATUSREQUEST']._serialized_end=11977
265
+ _globals['_SWEEPRUNSRESPONSE']._serialized_start=11979
266
+ _globals['_SWEEPRUNSRESPONSE']._serialized_end=12030
267
+ _globals['_ASSISTANTS']._serialized_start=13623
268
+ _globals['_ASSISTANTS']._serialized_end=14200
269
+ _globals['_ADMIN']._serialized_start=14202
270
+ _globals['_ADMIN']._serialized_end=14271
271
+ _globals['_THREADS']._serialized_start=14274
272
+ _globals['_THREADS']._serialized_end=14991
273
+ _globals['_RUNS']._serialized_start=14994
274
+ _globals['_RUNS']._serialized_end=15517
275
+ # @@protoc_insertion_point(module_scope)