langgraph-api 0.4.28__py3-none-any.whl → 0.4.30__py3-none-any.whl

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.

langgraph_api/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.4.28"
1
+ __version__ = "0.4.30"
@@ -12,8 +12,9 @@ from starlette.responses import Response
12
12
  from starlette.routing import BaseRoute
13
13
 
14
14
  from langgraph_api import store as api_store
15
- from langgraph_api.feature_flags import USE_RUNTIME_CONTEXT_API
15
+ from langgraph_api.feature_flags import FF_USE_CORE_API, USE_RUNTIME_CONTEXT_API
16
16
  from langgraph_api.graph import get_assistant_id, get_graph
17
+ from langgraph_api.grpc_ops.ops import Assistants as GrpcAssistants
17
18
  from langgraph_api.js.base import BaseRemotePregel
18
19
  from langgraph_api.route import ApiRequest, ApiResponse, ApiRoute
19
20
  from langgraph_api.schema import ASSISTANT_FIELDS
@@ -40,6 +41,7 @@ from langgraph_runtime.retry import retry_db
40
41
 
41
42
  logger = structlog.stdlib.get_logger(__name__)
42
43
 
44
+ CrudAssistants = GrpcAssistants if FF_USE_CORE_API else Assistants
43
45
 
44
46
  EXCLUDED_CONFIG_SCHEMA = (
45
47
  "__pregel_checkpointer",
@@ -164,7 +166,7 @@ async def create_assistant(request: ApiRequest) -> ApiResponse:
164
166
  if assistant_id := payload.get("assistant_id"):
165
167
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
166
168
  async with connect() as conn:
167
- assistant = await Assistants.put(
169
+ assistant = await CrudAssistants.put(
168
170
  conn,
169
171
  assistant_id or str(uuid4()),
170
172
  config=payload.get("config") or {},
@@ -175,6 +177,7 @@ async def create_assistant(request: ApiRequest) -> ApiResponse:
175
177
  name=payload.get("name") or "Untitled",
176
178
  description=payload.get("description"),
177
179
  )
180
+
178
181
  return ApiResponse(await fetchone(assistant, not_found_code=409))
179
182
 
180
183
 
@@ -187,7 +190,7 @@ async def search_assistants(
187
190
  select = validate_select_columns(payload.get("select") or None, ASSISTANT_FIELDS)
188
191
  offset = int(payload.get("offset") or 0)
189
192
  async with connect() as conn:
190
- assistants_iter, next_offset = await Assistants.search(
193
+ assistants_iter, next_offset = await CrudAssistants.search(
191
194
  conn,
192
195
  graph_id=payload.get("graph_id"),
193
196
  metadata=payload.get("metadata"),
@@ -210,7 +213,7 @@ async def count_assistants(
210
213
  """Count assistants."""
211
214
  payload = await request.json(AssistantCountRequest)
212
215
  async with connect() as conn:
213
- count = await Assistants.count(
216
+ count = await CrudAssistants.count(
214
217
  conn,
215
218
  graph_id=payload.get("graph_id"),
216
219
  metadata=payload.get("metadata"),
@@ -226,7 +229,7 @@ async def get_assistant(
226
229
  """Get an assistant by ID."""
227
230
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
228
231
  async with connect() as conn:
229
- assistant = await Assistants.get(conn, assistant_id)
232
+ assistant = await CrudAssistants.get(conn, assistant_id)
230
233
  return ApiResponse(await fetchone(assistant))
231
234
 
232
235
 
@@ -386,7 +389,7 @@ async def patch_assistant(
386
389
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
387
390
  payload = await request.json(AssistantPatch)
388
391
  async with connect() as conn:
389
- assistant = await Assistants.patch(
392
+ assistant = await CrudAssistants.patch(
390
393
  conn,
391
394
  assistant_id,
392
395
  config=payload.get("config"),
@@ -405,7 +408,7 @@ async def delete_assistant(request: ApiRequest) -> Response:
405
408
  assistant_id = request.path_params["assistant_id"]
406
409
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
407
410
  async with connect() as conn:
408
- aid = await Assistants.delete(conn, assistant_id)
411
+ aid = await CrudAssistants.delete(conn, assistant_id)
409
412
  await fetchone(aid)
410
413
  return Response(status_code=204)
411
414
 
@@ -417,7 +420,7 @@ async def get_assistant_versions(request: ApiRequest) -> ApiResponse:
417
420
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
418
421
  payload = await request.json(AssistantVersionsSearchRequest)
419
422
  async with connect() as conn:
420
- assistants_iter = await Assistants.get_versions(
423
+ assistants_iter = await CrudAssistants.get_versions(
421
424
  conn,
422
425
  assistant_id,
423
426
  metadata=payload.get("metadata") or {},
@@ -439,7 +442,7 @@ async def set_latest_assistant_version(request: ApiRequest) -> ApiResponse:
439
442
  payload = await request.json(AssistantVersionChange)
440
443
  validate_uuid(assistant_id, "Invalid assistant ID: must be a UUID")
441
444
  async with connect() as conn:
442
- assistant = await Assistants.set_latest(
445
+ assistant = await CrudAssistants.set_latest(
443
446
  conn, assistant_id, payload.get("version")
444
447
  )
445
448
  return ApiResponse(await fetchone(assistant, not_found_code=404))
langgraph_api/api/meta.py CHANGED
@@ -1,5 +1,3 @@
1
- from typing import cast
2
-
3
1
  import langgraph.version
4
2
  import structlog
5
3
  from starlette.responses import JSONResponse, PlainTextResponse
@@ -48,7 +46,7 @@ async def meta_metrics(request: ApiRequest):
48
46
 
49
47
  # collect stats
50
48
  metrics = get_metrics()
51
- worker_metrics = cast(dict[str, int], metrics["workers"])
49
+ worker_metrics = metrics["workers"]
52
50
  workers_max = worker_metrics["max"]
53
51
  workers_active = worker_metrics["active"]
54
52
  workers_available = worker_metrics["available"]
langgraph_api/config.py CHANGED
@@ -374,6 +374,16 @@ API_VARIANT = env("LANGSMITH_LANGGRAPH_API_VARIANT", cast=str, default="")
374
374
 
375
375
  # UI
376
376
  UI_USE_BUNDLER = env("LANGGRAPH_UI_BUNDLER", cast=bool, default=False)
377
+
378
+ SELF_HOSTED_METRICS_ENABLED = env(
379
+ "SELF_HOSTED_METRICS_ENABLED", cast=bool, default=False
380
+ )
381
+ SELF_HOSTED_METRICS_ENDPOINT = env(
382
+ "SELF_HOSTED_METRICS_ENDPOINT", cast=str, default=None
383
+ )
384
+ SELF_HOSTED_METRICS_EXPORT_INTERVAL_MS = env(
385
+ "SELF_HOSTED_METRICS_EXPORT_INTERVAL_MS", cast=int, default=60000
386
+ )
377
387
  IS_QUEUE_ENTRYPOINT = False
378
388
  IS_EXECUTOR_ENTRYPOINT = False
379
389
  ref_sha = None
@@ -1,3 +1,5 @@
1
+ import os
2
+
1
3
  from langgraph.version import __version__
2
4
 
3
5
  # Only gate features on the major.minor version; Lets you ignore the rc/alpha/etc. releases anyway
@@ -7,3 +9,10 @@ OMIT_PENDING_SENDS = LANGGRAPH_PY_MINOR >= (0, 5)
7
9
  USE_RUNTIME_CONTEXT_API = LANGGRAPH_PY_MINOR >= (0, 6)
8
10
  USE_NEW_INTERRUPTS = LANGGRAPH_PY_MINOR >= (0, 6)
9
11
  USE_DURABILITY = LANGGRAPH_PY_MINOR >= (0, 6)
12
+
13
+ # Feature flag for new gRPC-based persistence layer
14
+ FF_USE_CORE_API = os.getenv("FF_USE_CORE_API", "false").lower() in (
15
+ "true",
16
+ "1",
17
+ "yes",
18
+ )
langgraph_api/graph.py CHANGED
@@ -21,9 +21,8 @@ from langgraph.pregel import Pregel
21
21
  from langgraph.store.base import BaseStore
22
22
  from starlette.exceptions import HTTPException
23
23
 
24
- from langgraph_api import asyncio as lg_asyncio
25
24
  from langgraph_api import config
26
- from langgraph_api.feature_flags import USE_RUNTIME_CONTEXT_API
25
+ from langgraph_api.feature_flags import FF_USE_CORE_API, USE_RUNTIME_CONTEXT_API
27
26
  from langgraph_api.js.base import BaseRemotePregel, is_js_path
28
27
  from langgraph_api.schema import Config
29
28
  from langgraph_api.utils.config import run_in_executor, var_child_runnable_config
@@ -51,13 +50,19 @@ async def register_graph(
51
50
  description: str | None = None,
52
51
  ) -> None:
53
52
  """Register a graph."""
53
+ from langgraph_api.grpc_ops.ops import Assistants as AssistantsGrpc
54
54
  from langgraph_runtime.database import connect
55
- from langgraph_runtime.ops import Assistants
55
+ from langgraph_runtime.ops import Assistants as AssistantsRuntime
56
+
57
+ Assistants = AssistantsGrpc if FF_USE_CORE_API else AssistantsRuntime
56
58
 
57
59
  await logger.ainfo(f"Registering graph with id '{graph_id}'", graph_id=graph_id)
58
- GRAPHS[graph_id] = graph
59
- if callable(graph):
60
- FACTORY_ACCEPTS_CONFIG[graph_id] = len(inspect.signature(graph).parameters) > 0
60
+ if not FF_USE_CORE_API:
61
+ GRAPHS[graph_id] = graph
62
+ if callable(graph):
63
+ FACTORY_ACCEPTS_CONFIG[graph_id] = (
64
+ len(inspect.signature(graph).parameters) > 0
65
+ )
61
66
 
62
67
  from langgraph_runtime.retry import retry_db
63
68
 
@@ -87,12 +92,6 @@ async def register_graph(
87
92
  await register_graph_db()
88
93
 
89
94
 
90
- def register_graph_sync(
91
- graph_id: str, graph: GraphValue, config: dict | None = None
92
- ) -> None:
93
- lg_asyncio.run_coroutine_threadsafe(register_graph(graph_id, graph, config))
94
-
95
-
96
95
  @asynccontextmanager
97
96
  async def _generate_graph(value: Any) -> AsyncIterator[Any]:
98
97
  """Yield a graph object regardless of its type."""
File without changes
@@ -0,0 +1,80 @@
1
+ """gRPC client wrapper for LangGraph persistence services."""
2
+
3
+ import os
4
+
5
+ import structlog
6
+ from grpc import aio # type: ignore[import]
7
+
8
+ from .generated.core_api_pb2_grpc import AdminStub, AssistantsStub
9
+
10
+ logger = structlog.stdlib.get_logger(__name__)
11
+
12
+
13
+ class GrpcClient:
14
+ """gRPC client for LangGraph persistence services."""
15
+
16
+ def __init__(
17
+ self,
18
+ server_address: str | None = None,
19
+ ):
20
+ """Initialize the gRPC client.
21
+
22
+ Args:
23
+ server_address: The gRPC server address (default: localhost:50051)
24
+ """
25
+ self.server_address = server_address or os.getenv(
26
+ "GRPC_SERVER_ADDRESS", "localhost:50051"
27
+ )
28
+ self._channel: aio.Channel | None = None
29
+ self._assistants_stub: AssistantsStub | None = None
30
+ self._admin_stub: AdminStub | None = None
31
+
32
+ async def __aenter__(self):
33
+ """Async context manager entry."""
34
+ await self.connect()
35
+ return self
36
+
37
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
38
+ """Async context manager exit."""
39
+ await self.close()
40
+
41
+ async def connect(self):
42
+ """Connect to the gRPC server."""
43
+ if self._channel is not None:
44
+ return
45
+
46
+ self._channel = aio.insecure_channel(self.server_address)
47
+
48
+ self._assistants_stub = AssistantsStub(self._channel)
49
+ self._admin_stub = AdminStub(self._channel)
50
+
51
+ await logger.adebug(
52
+ "Connected to gRPC server", server_address=self.server_address
53
+ )
54
+
55
+ async def close(self):
56
+ """Close the gRPC connection."""
57
+ if self._channel is not None:
58
+ await self._channel.close()
59
+ self._channel = None
60
+ self._assistants_stub = None
61
+ self._admin_stub = None
62
+ await logger.adebug("Closed gRPC connection")
63
+
64
+ @property
65
+ def assistants(self) -> AssistantsStub:
66
+ """Get the assistants service stub."""
67
+ if self._assistants_stub is None:
68
+ raise RuntimeError(
69
+ "Client not connected. Use async context manager or call connect() first."
70
+ )
71
+ return self._assistants_stub
72
+
73
+ @property
74
+ def admin(self) -> AdminStub:
75
+ """Get the admin service stub."""
76
+ if self._admin_stub is None:
77
+ raise RuntimeError(
78
+ "Client not connected. Use async context manager or call connect() first."
79
+ )
80
+ return self._admin_stub
@@ -0,0 +1,5 @@
1
+ # Generated protobuf files
2
+ from . import core_api_pb2
3
+ from . import core_api_pb2_grpc
4
+
5
+ __all__ = ["core_api_pb2", "core_api_pb2_grpc"]
@@ -0,0 +1,274 @@
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
+
29
+
30
+ 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\"\x95\x01\n\x0eRunnableConfig\x12\x0c\n\x04tags\x18\x01 \x03(\t\x12\x1c\n\x0frecursion_limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x32\n\x0c\x63onfigurable\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x12\n\x10_recursion_limitB\x0f\n\r_configurable\"\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\"\x9b\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,\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\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\x11\n\x04name\x18\t \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xf2\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,\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\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\x11\n\x04name\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xca\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\'\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfig\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\x04name\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x01\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\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\x07\n\x05_nameB\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\"\xcb\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,\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\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\"\xa1\x02\n\x11\x43heckpointPayload\x12,\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\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\x33\n\rparent_config\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x99\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\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\"\xbd\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\x07\x63ontext\x18\x06 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x07 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x08 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\t \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\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\"\xee\x01\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\x16\n\texception\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xd3\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\x16\n\texception\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xd7\x04\n\tRunKwargs\x12,\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\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.SweepRunsResponseB<Z:github.com/langchain-ai/langgraph-api/core-api/internal/pbb\x06proto3')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'core_api_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'Z:github.com/langchain-ai/langgraph-api/core-api/internal/pb'
38
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
39
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
40
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
41
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
42
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
43
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
44
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
45
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
46
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._loaded_options = None
47
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
48
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._loaded_options = None
49
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
50
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._loaded_options = None
51
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
52
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._loaded_options = None
53
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
54
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._loaded_options = None
55
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_options = b'8\001'
56
+ _globals['_THREAD_INTERRUPTSENTRY']._loaded_options = None
57
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_options = b'8\001'
58
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._loaded_options = None
59
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
60
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._loaded_options = None
61
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
62
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._loaded_options = None
63
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
64
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._loaded_options = None
65
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
66
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._loaded_options = None
67
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
68
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._loaded_options = None
69
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
70
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._loaded_options = None
71
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
72
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._loaded_options = None
73
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
74
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._loaded_options = None
75
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
76
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._loaded_options = None
77
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
78
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._loaded_options = None
79
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
80
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._loaded_options = None
81
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
82
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_start=12081
83
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_end=12128
84
+ _globals['_SORTORDER']._serialized_start=12130
85
+ _globals['_SORTORDER']._serialized_end=12160
86
+ _globals['_ASSISTANTSSORTBY']._serialized_start=12162
87
+ _globals['_ASSISTANTSSORTBY']._serialized_end=12271
88
+ _globals['_THREADSTATUS']._serialized_start=12273
89
+ _globals['_THREADSTATUS']._serialized_end=12391
90
+ _globals['_THREADTTLSTRATEGY']._serialized_start=12393
91
+ _globals['_THREADTTLSTRATEGY']._serialized_end=12444
92
+ _globals['_CHECKPOINTSOURCE']._serialized_start=12447
93
+ _globals['_CHECKPOINTSOURCE']._serialized_end=12615
94
+ _globals['_THREADSSORTBY']._serialized_start=12618
95
+ _globals['_THREADSSORTBY']._serialized_end=12789
96
+ _globals['_RUNSTATUS']._serialized_start=12792
97
+ _globals['_RUNSTATUS']._serialized_end=12949
98
+ _globals['_MULTITASKSTRATEGY']._serialized_start=12952
99
+ _globals['_MULTITASKSTRATEGY']._serialized_end=13137
100
+ _globals['_STREAMMODE']._serialized_start=13140
101
+ _globals['_STREAMMODE']._serialized_end=13379
102
+ _globals['_CREATERUNBEHAVIOR']._serialized_start=13381
103
+ _globals['_CREATERUNBEHAVIOR']._serialized_end=13477
104
+ _globals['_CANCELRUNACTION']._serialized_start=13479
105
+ _globals['_CANCELRUNACTION']._serialized_end=13561
106
+ _globals['_CANCELRUNSTATUS']._serialized_start=13563
107
+ _globals['_CANCELRUNSTATUS']._serialized_end=13669
108
+ _globals['_RUNNABLECONFIG']._serialized_start=120
109
+ _globals['_RUNNABLECONFIG']._serialized_end=269
110
+ _globals['_EQAUTHFILTER']._serialized_start=271
111
+ _globals['_EQAUTHFILTER']._serialized_end=300
112
+ _globals['_CONTAINSAUTHFILTER']._serialized_start=302
113
+ _globals['_CONTAINSAUTHFILTER']._serialized_end=363
114
+ _globals['_AUTHFILTER']._serialized_start=365
115
+ _globals['_AUTHFILTER']._serialized_end=473
116
+ _globals['_UUID']._serialized_start=475
117
+ _globals['_UUID']._serialized_end=496
118
+ _globals['_COUNTRESPONSE']._serialized_start=498
119
+ _globals['_COUNTRESPONSE']._serialized_end=528
120
+ _globals['_ASSISTANT']._serialized_start=531
121
+ _globals['_ASSISTANT']._serialized_end=942
122
+ _globals['_ASSISTANTVERSION']._serialized_start=945
123
+ _globals['_ASSISTANTVERSION']._serialized_end=1315
124
+ _globals['_CREATEASSISTANTREQUEST']._serialized_start=1318
125
+ _globals['_CREATEASSISTANTREQUEST']._serialized_end=1776
126
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1671
127
+ _globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1738
128
+ _globals['_GETASSISTANTREQUEST']._serialized_start=1779
129
+ _globals['_GETASSISTANTREQUEST']._serialized_end=1951
130
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1671
131
+ _globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1738
132
+ _globals['_PATCHASSISTANTREQUEST']._serialized_start=1954
133
+ _globals['_PATCHASSISTANTREQUEST']._serialized_end=2413
134
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1671
135
+ _globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1738
136
+ _globals['_DELETEASSISTANTREQUEST']._serialized_start=2416
137
+ _globals['_DELETEASSISTANTREQUEST']._serialized_end=2594
138
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1671
139
+ _globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1738
140
+ _globals['_DELETEASSISTANTSRESPONSE']._serialized_start=2596
141
+ _globals['_DELETEASSISTANTSRESPONSE']._serialized_end=2645
142
+ _globals['_SETLATESTASSISTANTREQUEST']._serialized_start=2648
143
+ _globals['_SETLATESTASSISTANTREQUEST']._serialized_end=2849
144
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1671
145
+ _globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1738
146
+ _globals['_SEARCHASSISTANTSREQUEST']._serialized_start=2852
147
+ _globals['_SEARCHASSISTANTSREQUEST']._serialized_end=3306
148
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1671
149
+ _globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1738
150
+ _globals['_SEARCHASSISTANTSRESPONSE']._serialized_start=3308
151
+ _globals['_SEARCHASSISTANTSRESPONSE']._serialized_end=3374
152
+ _globals['_GETASSISTANTVERSIONSREQUEST']._serialized_start=3377
153
+ _globals['_GETASSISTANTVERSIONSREQUEST']._serialized_end=3688
154
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_start=1671
155
+ _globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_end=1738
156
+ _globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_start=3690
157
+ _globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_end=3765
158
+ _globals['_COUNTASSISTANTSREQUEST']._serialized_start=3768
159
+ _globals['_COUNTASSISTANTSREQUEST']._serialized_end=4021
160
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1671
161
+ _globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1738
162
+ _globals['_TRUNCATEREQUEST']._serialized_start=4023
163
+ _globals['_TRUNCATEREQUEST']._serialized_end=4128
164
+ _globals['_THREADTTLCONFIG']._serialized_start=4131
165
+ _globals['_THREADTTLCONFIG']._serialized_end=4318
166
+ _globals['_FRAGMENT']._serialized_start=4320
167
+ _globals['_FRAGMENT']._serialized_end=4345
168
+ _globals['_CHECKPOINTTASK']._serialized_start=4348
169
+ _globals['_CHECKPOINTTASK']._serialized_end=4520
170
+ _globals['_CHECKPOINTMETADATA']._serialized_start=4523
171
+ _globals['_CHECKPOINTMETADATA']._serialized_end=4737
172
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_start=4671
173
+ _globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_end=4717
174
+ _globals['_CHECKPOINTPAYLOAD']._serialized_start=4740
175
+ _globals['_CHECKPOINTPAYLOAD']._serialized_end=5029
176
+ _globals['_INTERRUPT']._serialized_start=5032
177
+ _globals['_INTERRUPT']._serialized_end=5185
178
+ _globals['_INTERRUPTS']._serialized_start=5187
179
+ _globals['_INTERRUPTS']._serialized_end=5239
180
+ _globals['_THREAD']._serialized_start=5242
181
+ _globals['_THREAD']._serialized_end=5687
182
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_start=5617
183
+ _globals['_THREAD_INTERRUPTSENTRY']._serialized_end=5687
184
+ _globals['_CREATETHREADREQUEST']._serialized_start=5690
185
+ _globals['_CREATETHREADREQUEST']._serialized_end=6035
186
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_start=1671
187
+ _globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_end=1738
188
+ _globals['_GETTHREADREQUEST']._serialized_start=6038
189
+ _globals['_GETTHREADREQUEST']._serialized_end=6216
190
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_start=1671
191
+ _globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_end=1738
192
+ _globals['_PATCHTHREADREQUEST']._serialized_start=6219
193
+ _globals['_PATCHTHREADREQUEST']._serialized_end=6514
194
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_start=1671
195
+ _globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_end=1738
196
+ _globals['_DELETETHREADREQUEST']._serialized_start=6517
197
+ _globals['_DELETETHREADREQUEST']._serialized_end=6701
198
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_start=1671
199
+ _globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_end=1738
200
+ _globals['_COPYTHREADREQUEST']._serialized_start=6704
201
+ _globals['_COPYTHREADREQUEST']._serialized_end=6884
202
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_start=1671
203
+ _globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_end=1738
204
+ _globals['_SEARCHTHREADSREQUEST']._serialized_start=6887
205
+ _globals['_SEARCHTHREADSREQUEST']._serialized_end=7408
206
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_start=1671
207
+ _globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_end=1738
208
+ _globals['_SEARCHTHREADSRESPONSE']._serialized_start=7410
209
+ _globals['_SEARCHTHREADSRESPONSE']._serialized_end=7467
210
+ _globals['_COUNTTHREADSREQUEST']._serialized_start=7470
211
+ _globals['_COUNTTHREADSREQUEST']._serialized_end=7793
212
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_start=1671
213
+ _globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_end=1738
214
+ _globals['_SWEEPTHREADSTTLRESPONSE']._serialized_start=7795
215
+ _globals['_SWEEPTHREADSTTLRESPONSE']._serialized_end=7854
216
+ _globals['_SWEEPTHREADSTTLREQUEST']._serialized_start=7856
217
+ _globals['_SWEEPTHREADSTTLREQUEST']._serialized_end=7930
218
+ _globals['_SETTHREADSTATUSREQUEST']._serialized_start=7933
219
+ _globals['_SETTHREADSTATUSREQUEST']._serialized_end=8209
220
+ _globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_start=8212
221
+ _globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_end=8450
222
+ _globals['_JOINTROLLBACKREQUEST']._serialized_start=8453
223
+ _globals['_JOINTROLLBACKREQUEST']._serialized_end=8664
224
+ _globals['_RUNKWARGS']._serialized_start=8667
225
+ _globals['_RUNKWARGS']._serialized_end=9266
226
+ _globals['_RUN']._serialized_start=9269
227
+ _globals['_RUN']._serialized_end=9637
228
+ _globals['_QUEUESTATS']._serialized_start=9640
229
+ _globals['_QUEUESTATS']._serialized_end=9778
230
+ _globals['_NEXTRUNREQUEST']._serialized_start=9780
231
+ _globals['_NEXTRUNREQUEST']._serialized_end=9825
232
+ _globals['_RUNWITHATTEMPT']._serialized_start=9827
233
+ _globals['_RUNWITHATTEMPT']._serialized_end=9887
234
+ _globals['_NEXTRUNRESPONSE']._serialized_start=9889
235
+ _globals['_NEXTRUNRESPONSE']._serialized_end=9945
236
+ _globals['_CREATERUNREQUEST']._serialized_start=9948
237
+ _globals['_CREATERUNREQUEST']._serialized_end=10693
238
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_start=1671
239
+ _globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_end=1738
240
+ _globals['_GETRUNREQUEST']._serialized_start=10696
241
+ _globals['_GETRUNREQUEST']._serialized_end=10899
242
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_start=1671
243
+ _globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_end=1738
244
+ _globals['_DELETERUNREQUEST']._serialized_start=10902
245
+ _globals['_DELETERUNREQUEST']._serialized_end=11111
246
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_start=1671
247
+ _globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_end=1738
248
+ _globals['_CANCELRUNIDSTARGET']._serialized_start=11113
249
+ _globals['_CANCELRUNIDSTARGET']._serialized_end=11199
250
+ _globals['_CANCELSTATUSTARGET']._serialized_start=11201
251
+ _globals['_CANCELSTATUSTARGET']._serialized_end=11263
252
+ _globals['_CANCELRUNREQUEST']._serialized_start=11266
253
+ _globals['_CANCELRUNREQUEST']._serialized_end=11573
254
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_start=1671
255
+ _globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_end=1738
256
+ _globals['_SEARCHRUNSREQUEST']._serialized_start=11576
257
+ _globals['_SEARCHRUNSREQUEST']._serialized_end=11886
258
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_start=1671
259
+ _globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_end=1738
260
+ _globals['_SEARCHRUNSRESPONSE']._serialized_start=11888
261
+ _globals['_SEARCHRUNSRESPONSE']._serialized_end=11936
262
+ _globals['_SETRUNSTATUSREQUEST']._serialized_start=11938
263
+ _globals['_SETRUNSTATUSREQUEST']._serialized_end=12026
264
+ _globals['_SWEEPRUNSRESPONSE']._serialized_start=12028
265
+ _globals['_SWEEPRUNSRESPONSE']._serialized_end=12079
266
+ _globals['_ASSISTANTS']._serialized_start=13672
267
+ _globals['_ASSISTANTS']._serialized_end=14249
268
+ _globals['_ADMIN']._serialized_start=14251
269
+ _globals['_ADMIN']._serialized_end=14320
270
+ _globals['_THREADS']._serialized_start=14323
271
+ _globals['_THREADS']._serialized_end=15040
272
+ _globals['_RUNS']._serialized_start=15043
273
+ _globals['_RUNS']._serialized_end=15566
274
+ # @@protoc_insertion_point(module_scope)