langgraph-api 0.12.0.dev22__py3-none-any.whl → 0.12.0.dev24__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.
langgraph_api/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.12.0.dev22"
1
+ __version__ = "0.12.0.dev24"
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import copy
5
6
  import inspect
6
7
  import typing
7
8
  from collections.abc import Callable
@@ -151,6 +152,7 @@ def is_for_execution(access_context: AccessContext) -> bool:
151
152
  def build_server_runtime(
152
153
  access_context: AccessContext,
153
154
  store: BaseStore,
155
+ context: Any | None = None,
154
156
  ) -> ServerRuntime:
155
157
  """Construct the appropriate ServerRuntime variant for the access context."""
156
158
  from langgraph_api.utils import get_auth_ctx # noqa: PLC0415
@@ -162,6 +164,8 @@ def build_server_runtime(
162
164
  access_context=access_context,
163
165
  user=user,
164
166
  store=store,
167
+ # copy.copy (not dict()) shallow-copies a dict yet preserves a dataclass/Pydantic context.
168
+ context=copy.copy(context) if context is not None else None,
165
169
  )
166
170
  return _ReadRuntime(
167
171
  access_context=access_context,
langgraph_api/api/runs.py CHANGED
@@ -892,12 +892,16 @@ async def patch_cron(request: ApiRequest):
892
892
  CRON_PAYLOAD_ENCRYPTION_SUBFIELDS,
893
893
  )
894
894
 
895
+ # An explicit `end_time: null` clears the end time; an absent key leaves it unchanged.
896
+ clear_end_time = "end_time" in payload and payload["end_time"] is None
897
+
895
898
  async with connect() as conn:
896
899
  cron = await Crons.update(
897
900
  conn,
898
901
  cron_id=cron_id,
899
902
  schedule=payload.get("schedule"),
900
903
  end_time=payload.get("end_time"),
904
+ clear_end_time=clear_end_time,
901
905
  enabled=payload.get("enabled"),
902
906
  on_run_completed=payload.get("on_run_completed"),
903
907
  payload=effective_payload,
langgraph_api/graph.py CHANGED
@@ -356,6 +356,7 @@ async def get_graph(
356
356
  store: BaseStore,
357
357
  access_context: AccessContext,
358
358
  run_id: str | None = None,
359
+ context: Any | None = None,
359
360
  ) -> AsyncIterator[Pregel]:
360
361
  """Return the runnable."""
361
362
  from langgraph_api.utils import config as lg_config # noqa: PLC0415
@@ -387,7 +388,13 @@ async def get_graph(
387
388
  )
388
389
  var_child_runnable_config.set(config)
389
390
 
390
- value = invoke_factory(value, graph_id, config, server_runtime)
391
+ # Only the factory runtime carries context; the parent stays context-less.
392
+ factory_runtime = (
393
+ build_server_runtime(access_context, store, context)
394
+ if USE_RUNTIME_CONTEXT_API and context is not None
395
+ else server_runtime
396
+ )
397
+ value = invoke_factory(value, graph_id, config, factory_runtime)
391
398
  try:
392
399
  async with _generate_graph(
393
400
  value, graph_id, run_id=run_id, access_context=access_context
@@ -381,6 +381,7 @@ class Crons(Authenticated):
381
381
  cron_id: UUID,
382
382
  schedule: str | None = None,
383
383
  end_time: datetime | str | None = None,
384
+ clear_end_time: bool = False,
384
385
  enabled: bool | None = None,
385
386
  on_run_completed: Literal["delete", "keep"] | None = None,
386
387
  payload: dict | None = None,
@@ -411,6 +412,7 @@ class Crons(Authenticated):
411
412
  filters=auth_filters,
412
413
  schedule=schedule,
413
414
  end_time=end_time_dt,
415
+ clear_end_time=clear_end_time,
414
416
  enabled=enabled,
415
417
  on_run_completed=_on_run_completed_to_enum(on_run_completed),
416
418
  payload=_payload_dict_to_proto(payload) if payload else None,
langgraph_api/stream.py CHANGED
@@ -187,6 +187,7 @@ async def astream_state(
187
187
  else await api_checkpointer.get_checkpointer(),
188
188
  access_context="threads.create_run",
189
189
  run_id=run_id,
190
+ context=context,
190
191
  )
191
192
  )
192
193
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.12.0.dev22
3
+ Version: 0.12.0.dev24
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
@@ -1,5 +1,5 @@
1
- langgraph_api/__init__.py,sha256=31NPyKqDoZwGlri-MWZ1Lg9OcNtBiCIvIQsCjSMT7uE,29
2
- langgraph_api/_factory_utils.py,sha256=5JsiJbg_YocVSryN2jwoZTg03-eyymlWMK6sKCmXwz0,5756
1
+ langgraph_api/__init__.py,sha256=NLfcgy6wYQFF9QZpwNR60Iu8aqPF4s7U1L2BudBjDA0,29
2
+ langgraph_api/_factory_utils.py,sha256=_FqW0olMu2PGLsnRq0ylt3a4jDCe12YIFHExMXI6Nyo,5976
3
3
  langgraph_api/asgi_transport.py,sha256=XApY3lIWBZTMbbsl8dDJzl0cLGirmAGE0SifqZUnXvs,11896
4
4
  langgraph_api/asyncio.py,sha256=smqyAoO9nIyPPQRw1IVSCh85fwoZP4PEo-5dDhxGruc,10676
5
5
  langgraph_api/cache.py,sha256=LuB3Te0UdXC8a-uEJoRHoe5XsgXulXI59f_Q6DCJNKc,13005
@@ -8,7 +8,7 @@ langgraph_api/command.py,sha256=d-k8h6H4ix1n7fSZ-Zb01NbSkEyqrD6cMKfDFXEIYEw,821
8
8
  langgraph_api/cron_scheduler.py,sha256=OwFzCwD86pfMNpfm9Z8bBS_WY9bBfDxGnq8_7wXurdA,6016
9
9
  langgraph_api/errors.py,sha256=zlMW99wAzNkz2xfik-HMkl_wMqmRFvs1j8V-_DZbAUc,2553
10
10
  langgraph_api/feature_flags.py,sha256=P7yQ9jXMHO3dPWv51iWGAVrPg3LbR9m4aCT_7t1UtZw,2624
11
- langgraph_api/graph.py,sha256=fKlnNv4Wn1ThYiRsYgT7A4EVvJssymWtI12gnNJQIVU,37734
11
+ langgraph_api/graph.py,sha256=j8MxvABzz1XPmC_2rrCuSc_LcVB8t_yV6H8dYWA_yYU,38048
12
12
  langgraph_api/http.py,sha256=7hPxKbj-xoAKcm7iucBpT5nM_hXOgGVCPbBsCD693Cw,6977
13
13
  langgraph_api/http_metrics.py,sha256=etxbZNmYxdb58DVLNkHP7S-N6njXPTiQh2OWKMaIZi8,5336
14
14
  langgraph_api/http_metrics_utils.py,sha256=sjxF7SYGTzY0Wz_G0dzatsYNnWr31S6ujej4JmBG2yo,866
@@ -29,7 +29,7 @@ langgraph_api/server.py,sha256=1eAZPim0Pkgh5oGS4EvW-_7Zh_82iGOZtR1rpX08FoA,11216
29
29
  langgraph_api/sse.py,sha256=cChZ7raQUHp8p5BreE_5wMBR8lFO0n7746sV8_HQOrc,4822
30
30
  langgraph_api/state.py,sha256=A6jx2OpcVmiFNBafjZ2tX1x6s_AhBk5EW2drd-vaqIc,4396
31
31
  langgraph_api/store.py,sha256=i-jVfWzDEmPESVofh1tNWbo0HMLiLz_BSKKV4QjN-dE,5027
32
- langgraph_api/stream.py,sha256=rJIGe8rEeS6QxQfsDKomUBRED6ZPIF-ALtx4D8Gw0JQ,33348
32
+ langgraph_api/stream.py,sha256=aojVBhTTQYnTp31dhS1EebiJyIMHuxzLUrnR74RcBuM,33377
33
33
  langgraph_api/stream_v2.py,sha256=KCIsPf6gs_jrIdZ8D2VTEi5c5p5aRNpVNhMP4kzjp2g,10824
34
34
  langgraph_api/traceblock.py,sha256=GhgAtLhAQ8Z8LHtRQq3par-rfPpRBQp2Q7WBACJq1NI,677
35
35
  langgraph_api/tracing_session.py,sha256=gmfv-BW1XRar6suVur1P4rTVKWkjElDEb2hhkBduWOs,728
@@ -46,7 +46,7 @@ langgraph_api/api/event_streaming.py,sha256=jvoBp5qHI92JJHsx4f9LEpb0i0VE31G_qFhS
46
46
  langgraph_api/api/meta.py,sha256=5s017GfMs-Ghq6Z5K6yW4UjbVFzCsmeXKn4UEJmfs98,4757
47
47
  langgraph_api/api/openapi.py,sha256=Zkdlb9mjrQyHro1TtrDIWVuaBDovxx-uGWJ1fZMOg54,12604
48
48
  langgraph_api/api/profile.py,sha256=CA1ZkHALOuP8orYTICnEhcG_JnnA2wnyjbWyeb117jA,3455
49
- langgraph_api/api/runs.py,sha256=eqaeSUXg0mKROEyGTG7ur6RdSFHKIq6hMDEiYxO2R7Q,35197
49
+ langgraph_api/api/runs.py,sha256=y8bNdsCZCMoKHromuGSM00kt1CnivTR3Tw0eD6fscTc,35407
50
50
  langgraph_api/api/store.py,sha256=6ixv6VLIBSUQjEChZBx85DzSf__Yox9wlNd9hgdxsS4,6936
51
51
  langgraph_api/api/threads.py,sha256=atUJnC49tpdhx80OdyzT6NNV3J0pN1R1e4nq7qeXD6c,19778
52
52
  langgraph_api/api/ui.py,sha256=A1cRxaMK_4pb192mrZ_LMxLSFb8NriYwwvjeDdNDD7k,2803
@@ -90,7 +90,7 @@ langgraph_api/grpc/generated/core_api_pb2.pyi,sha256=0PEzVh8s6rqHq52ekhqPaMI_TOs
90
90
  langgraph_api/grpc/ops/__init__.py,sha256=ACO-Cp7ygehNfOG1ucSH8iMw3hVXbLluxiqczG2PKTQ,18827
91
91
  langgraph_api/grpc/ops/assistants.py,sha256=00vY7Dd7BcXaVp_6UrKZIb5b4tQ8Lm5MxJcEpyVPfo0,13902
92
92
  langgraph_api/grpc/ops/cache.py,sha256=MoPAmSuOwbt2Cud1YZJm_YJeaDHPFy1IiV4m0PDImgg,1399
93
- langgraph_api/grpc/ops/crons.py,sha256=oGPW9qW-J4H9baX7Jsee1opsFnXfThHLHh_N47mDf9s,19596
93
+ langgraph_api/grpc/ops/crons.py,sha256=BzFTBo0C45oTLzFqxVsR15Fy1RvCoGGEL9rYiI6Zapg,19677
94
94
  langgraph_api/grpc/ops/runs.py,sha256=4-Mp-4MgDAn8uerLrOpmXuUqOdfcnzSmb3hSRlO8HhM,41798
95
95
  langgraph_api/grpc/ops/threads.py,sha256=SJraV838nZ0m6wRrCia7sLYh8KK1WfY7x5xmcspZLek,48140
96
96
  langgraph_api/grpc/servicers/__init__.py,sha256=l8yqTA_gMbIj0xHw5-RZYo0JbjL-EpFD8RxPMgW_-bA,422
@@ -162,7 +162,7 @@ langgraph_runtime/store.py,sha256=7mowndlsIroGHv3NpTSOZDJR0lCuaYMBoTnTrewjslw,11
162
162
  LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
163
163
  hatch_build.py,sha256=Nn9N-EFfVqmH5q3iCUrhqX6zc7qT1jLI3gWSBN2xgYQ,1738
164
164
  logging.json,sha256=sBy8HDDPuucpLbLUD6e8t5fsiQjJoklZsbVHi2qQ7aQ,367
165
- openapi.json,sha256=_gcvdkH6zWjzvEZ4YPGpJ0AMzTwM1cbJlpVgJSxzM8I,219880
165
+ openapi.json,sha256=C009Hi2gZaUKU4OOf2P12Qdjodx1mxZd16RAm1lZiIw,219991
166
166
  langgraph_grpc_common/__init__.py,sha256=sO7jFHekQxt6zZPhTPZAWLYLB_S8w7-VuJ7NyWFlFNo,97
167
167
  langgraph_grpc_common/checkpointer.py,sha256=u3ERFgqnUCpCYpOSxKR_6Jvo_tR4yDvq7qU-EL61bSg,14022
168
168
  langgraph_grpc_common/serde.py,sha256=pxIhgxtrXtwWVhAlLE2LAeSAuKk2ZHtnvAP3DRDT2Qw,6184
@@ -180,8 +180,8 @@ langgraph_grpc_common/proto/checkpointer_pb2.py,sha256=c-gaVwNHm7sUzThJDzumME2M_
180
180
  langgraph_grpc_common/proto/checkpointer_pb2.pyi,sha256=rGUxQyNFifmu8OPy0S418sCWSBQY_CVckobPXtFfZfs,20763
181
181
  langgraph_grpc_common/proto/checkpointer_pb2_grpc.py,sha256=MLhZ7M4g9gjfXZqWenk93oO2uIZSybbFoaeU8bauFPA,20176
182
182
  langgraph_grpc_common/proto/checkpointer_pb2_grpc.pyi,sha256=8fPL90WjHnMaREG7l9qYt5fQePeT8YFWQ0qVy56QtYw,10210
183
- langgraph_grpc_common/proto/core_api_pb2.py,sha256=ggBZW9ywqm2Y4lgpWURuxd0bfit_JUMb1zSZ11UMylc,51014
184
- langgraph_grpc_common/proto/core_api_pb2.pyi,sha256=1AtbsmQcOzwYSODInI9mEioWcBCtcc3VNBra7FEXICw,207984
183
+ langgraph_grpc_common/proto/core_api_pb2.py,sha256=uqLTDWHnbeV48fs0EpDd2yqOBx-xbA2gsQ2MdkSlsJI,51063
184
+ langgraph_grpc_common/proto/core_api_pb2.pyi,sha256=vLGcDviwL98UxXjSo3VMm4QZSzHDPbhWVFA9EJhcytI,208379
185
185
  langgraph_grpc_common/proto/core_api_pb2_grpc.py,sha256=zIfWY664xF4r9c48Ys1OcYN4dEmtIWAwYiCzP7gsyLI,81342
186
186
  langgraph_grpc_common/proto/core_api_pb2_grpc.pyi,sha256=XLu2-5YZHm9QyZWjWsnUWe7uN6n1-avVvsyR6N5D3fs,29325
187
187
  langgraph_grpc_common/proto/encryption_pb2.py,sha256=W9Zs5gclBzKfwHfKDB_83tFfabR9_KK2Lq81xVYleMQ,3355
@@ -236,8 +236,8 @@ langgraph_grpc_common/proto/store_pb2.py,sha256=uAYM7OcdEOK12iRcPYihC2suSeCo_Qdb
236
236
  langgraph_grpc_common/proto/store_pb2.pyi,sha256=_dcxyxV8moR6H67qU42r2h2p_Ub-PZSHs3OoS9KMdSY,27782
237
237
  langgraph_grpc_common/proto/store_pb2_grpc.py,sha256=wSD65QgFkYTkPTHcf7VhyI2FQ7UH_RgIf3vQW3VYlsM,3324
238
238
  langgraph_grpc_common/proto/store_pb2_grpc.pyi,sha256=oS1h2cDoq2OjyM8xazcmc8LwRDC5oCAD0zto2QUmPQw,2027
239
- langgraph_api-0.12.0.dev22.dist-info/METADATA,sha256=M4jOTXtygUqW6Fe7xtPKiz8_i-DAB4lQRNUTtVKza6k,4631
240
- langgraph_api-0.12.0.dev22.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
241
- langgraph_api-0.12.0.dev22.dist-info/entry_points.txt,sha256=hGedv8n7cgi41PypMfinwS_HfCwA7xJIfS0jAp8htV8,78
242
- langgraph_api-0.12.0.dev22.dist-info/licenses/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
243
- langgraph_api-0.12.0.dev22.dist-info/RECORD,,
239
+ langgraph_api-0.12.0.dev24.dist-info/METADATA,sha256=esLgBhvpG1bqGEkZyvrCuZmg9VAB7OEtF3LgJdwkbrM,4631
240
+ langgraph_api-0.12.0.dev24.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
241
+ langgraph_api-0.12.0.dev24.dist-info/entry_points.txt,sha256=hGedv8n7cgi41PypMfinwS_HfCwA7xJIfS0jAp8htV8,78
242
+ langgraph_api-0.12.0.dev24.dist-info/licenses/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
243
+ langgraph_api-0.12.0.dev24.dist-info/RECORD,,
@@ -39,7 +39,7 @@ from . import enum_control_signal_pb2 as enum__control__signal__pb2
39
39
  from . import enum_cron_on_run_completed_pb2 as enum__cron__on__run__completed__pb2
40
40
 
41
41
 
42
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10\x65ncryption.proto\x1a\x13\x65ngine-common.proto\x1a\x15\x65num_run_status.proto\x1a\x1d\x65num_multitask_strategy.proto\x1a\x16\x65num_stream_mode.proto\x1a\x1c\x65num_cancel_run_action.proto\x1a\x18\x65num_thread_status.proto\x1a\x1d\x65num_thread_stream_mode.proto\x1a\x19\x65num_control_signal.proto\x1a enum_cron_on_run_completed.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"*\n\x0c\x45qAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\"2\n\x12\x43ontainsAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0f\n\x07matches\x18\x02 \x03(\t\"4\n\x0cOrAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"5\n\rAndAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xc6\x01\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x12*\n\tor_filter\x18\x03 \x01(\x0b\x32\x15.coreApi.OrAuthFilterH\x00\x12,\n\nand_filter\x18\x04 \x01(\x0b\x32\x16.coreApi.AndAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"x\n\x0bStreamEvent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x16\n\tstream_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06run_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_stream_idB\t\n\x07_run_id\"\xfa\x02\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\t \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\xd1\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\x9d\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x32\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfig\x12\x14\n\x0c\x63ontext_json\x18\x06 \x01(\x0c\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\n \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"Q\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xb2\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\x0f\n\r_context_jsonB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"\x84\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1b\n\x0e\x64\x65lete_threads\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_delete_threads\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"h\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xf4\x02\n\x17SearchAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x12\x11\n\x04name\x18\t \x01(\tH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\x07\n\x05_name\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xc5\x01\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xac\x01\n\x16\x43ountAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x07\n\x05_name\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x82\x01\n\rThreadTTLInfo\x12,\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategy\x12\x13\n\x0bttl_minutes\x18\x02 \x01(\x01\x12.\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\x89\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0finterrupts_json\x18\x04 \x03(\x0c\x12\x17\n\nstate_json\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x08\n\x06_errorB\r\n\x0b_state_json\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xa3\x02\n\x11\x43heckpointPayload\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\x13\n\x0bvalues_json\x18\x03 \x01(\x0c\x12\x0c\n\x04next\x18\x04 \x03(\t\x12>\n\rparent_config\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"T\n\x16ThreadStatusCheckpoint\x12\x13\n\x0bvalues_json\x18\x01 \x01(\x0c\x12\x0c\n\x04next\x18\x02 \x03(\t\x12\x17\n\x0finterrupts_json\x18\x03 \x01(\x0c\"\x80\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xdc\x04\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12.\n\x06status\x18\x06 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12!\n\x06values\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\x08 \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x12 \n\x05\x65rror\x18\t \x01(\x0b\x32\x11.coreApi.Fragment\x12\x34\n\x10state_updated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0e\x65xtracted_json\x18\x0b \x01(\x0cH\x00\x88\x01\x01\x12(\n\x03ttl\x18\x0c \x01(\x0b\x32\x16.coreApi.ThreadTTLInfoH\x01\x88\x01\x01\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\x42\x11\n\x0f_extracted_jsonB\x06\n\x04_ttl\"\xc6\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x1a\n\rmetadata_json\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x06 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_context\"\xc6\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x18\n\x0binclude_ttl\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x32\n\tread_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x01\x88\x01\x01\x42\x0e\n\x0c_include_ttlB\x0c\n\n_read_mask\"\xd7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x12\x32\n\tread_mask\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x03\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_contextB\x0c\n\n_read_mask\"]\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"[\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xa1\x04\n\x14SearchThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x12\x1a\n\x03ids\x18\n \x03(\x0b\x32\r.coreApi.UUID\x12;\n\x07\x65xtract\x18\x0b \x03(\x0b\x32*.coreApi.SearchThreadsRequest.ExtractEntry\x1a.\n\x0c\x45xtractEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xd3\x01\n\x13\x43ountThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_status\"\xc3\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\ncheckpoint\x18\x02 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x37\n\x0f\x65xpected_status\x18\x04 \x03(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xd4\x02\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x38\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x07 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xc9\x01\n\x13StreamThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12<\n\x0cstream_modes\x18\x03 \x03(\x0e\x32&.enumThreadStreamMode.ThreadStreamMode\x12\x1a\n\rlast_event_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"\xb9\x05\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\ninput_json\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x19\n\x0c\x63ommand_json\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12/\n\x0bstream_mode\x18\x05 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\t\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\n\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\x0b\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\r\n\x0b_input_jsonB\x0f\n\r_command_jsonB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xc4\x03\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x06status\x18\x06 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x44\n\x12multitask_strategy\x18\t \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategy\x12#\n\x16langsmith_session_name\x18\n \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_langsmith_session_name\"\xba\x02\n\x08RunStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12,\n\x1fpending_runs_wait_time_max_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12,\n\x1fpending_runs_wait_time_med_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x36\n)pending_unblocked_runs_wait_time_max_secs\x18\x05 \x01(\x01H\x02\x88\x01\x01\x42\"\n _pending_runs_wait_time_max_secsB\"\n _pending_runs_wait_time_med_secsB,\n*_pending_unblocked_runs_wait_time_max_secs\"\x82\x01\n\x11PostgresPoolStats\x12\x10\n\x08pool_max\x18\x01 \x01(\x05\x12\x11\n\tpool_size\x18\x02 \x01(\x05\x12\x16\n\x0epool_available\x18\x03 \x01(\x05\x12\x17\n\x0frequests_queued\x18\x04 \x01(\x03\x12\x17\n\x0frequests_errors\x18\x05 \x01(\x03\"_\n\x0eRedisPoolStats\x12\x18\n\x10idle_connections\x18\x01 \x01(\x05\x12\x1a\n\x12in_use_connections\x18\x02 \x01(\x05\x12\x17\n\x0fmax_connections\x18\x03 \x01(\x05\"\x8c\x01\n\x13\x43onnectionPoolStats\x12\x31\n\x08postgres\x18\x01 \x01(\x0b\x32\x1a.coreApi.PostgresPoolStatsH\x00\x88\x01\x01\x12+\n\x05redis\x18\x02 \x01(\x0b\x32\x17.coreApi.RedisPoolStatsH\x01\x88\x01\x01\x42\x0b\n\t_postgresB\x08\n\x06_redis\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"w\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\x12\x39\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContext\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\x92\x07\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x13\n\x0bkwargs_json\x18\x02 \x01(\x0c\x12+\n\x0ethread_filters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x11\x61ssistant_filters\x18\x0e \x03(\x0b\x32\x13.coreApi.AuthFilter\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12-\n\x06status\x18\x07 \x01(\x0e\x32\x18.enumRunStatus.RunStatusH\x03\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\n \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x31\n\nthread_ttl\x18\r \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\t\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x0f \x01(\x0b\x32\x1d.encryption.EncryptionContextH\n\x88\x01\x01\x12#\n\x16langsmith_session_name\x18\x10 \x01(\tH\x0b\x88\x01\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x10\n\x0e_metadata_jsonB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_secondsB\r\n\x0b_thread_ttlB\x15\n\x13_encryption_contextB\x19\n\x17_langsmith_session_name\"v\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"y\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xe7\x01\n\x10\x43\x61ncelRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12\x39\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32$.enumCancelRunAction.CancelRunActionH\x01\x88\x01\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xe3\x01\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12-\n\x06status\x18\x05 \x01(\x0e\x32\x18.enumRunStatus.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\tB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"^\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12(\n\x06status\x18\x02 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID\"F\n\x10\x43ountRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08statuses\x18\x02 \x03(\t\"\x7f\n\x16StreamRunClientMessage\x12\x31\n\tsubscribe\x18\x01 \x01(\x0b\x32\x1c.coreApi.SubscribeRunRequestH\x00\x12\'\n\x04join\x18\x02 \x01(\x0b\x32\x17.coreApi.JoinRunRequestH\x00\x42\t\n\x07message\"V\n\x13SubscribeRunRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\"\xd2\x01\n\x0eJoinRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x30\n\x0cstream_modes\x18\x02 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x1c\n\x14ignore_run_not_found\x18\x03 \x01(\x08\x12\x1c\n\x14\x63\x61ncel_on_disconnect\x18\x04 \x01(\x08\x12\x1a\n\rlast_event_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"e\n\x0f\x45nterRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x11\n\tresumable\x18\x03 \x01(\x08\"h\n\x12MarkRunDoneRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x11\n\tresumable\x18\x03 \x01(\x08\"\xa4\x01\n\x19PublishStreamEventRequest\x12\"\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nevent_type\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\x0c\x12\x11\n\tresumable\x18\x05 \x01(\x08\x42\t\n\x07_run_id\"5\n\x11GetGraphIDRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\"8\n\x12GetGraphIDResponse\x12\x15\n\x08graph_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_graph_id\"/\n\x11\x43reateRunResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"@\n\x0c\x43ontrolEvent\x12\x30\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32 .enumControlSignal.ControlSignal\"\x88\x05\n\x0b\x43ronPayload\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x17\n\ninput_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07webhook\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\x08 \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x37\n\nextra_json\x18\n \x03(\x0b\x32#.coreApi.CronPayload.ExtraJsonEntry\x1a\x30\n\x0e\x45xtraJsonEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\r\n\x0b_input_jsonB\t\n\x07_configB\x0f\n\r_context_jsonB\n\n\x08_webhookB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\x15\n\x13_multitask_strategyB\x10\n\x0e_metadata_json\"\xcb\x04\n\x04\x43ron\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x14\n\x0c\x61ssistant_id\x18\x02 \x01(\t\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12I\n\x10on_run_completed\x18\x04 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x01\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x10\n\x08schedule\x18\x06 \x01(\t\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07user_id\x18\t \x01(\tH\x03\x88\x01\x01\x12%\n\x07payload\x18\n \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x31\n\rnext_run_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rmetadata_json\x18\x0c \x01(\x0c\x12\x0f\n\x07\x65nabled\x18\r \x01(\x08\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x0b\n\t_timezone\"\x9a\x05\n\x11\x43reateCronRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x10\n\x08schedule\x18\x02 \x01(\t\x12%\n\x07payload\x18\x03 \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x15\n\rmetadata_json\x18\x04 \x01(\x0c\x12#\n\x07\x63ron_id\x18\x05 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12I\n\x10on_run_completed\x18\x07 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x02\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12\x0f\n\x07\x65nabled\x18\t \x01(\x08\x12.\n\x11\x61ssistant_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x0b \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x14\n\x07user_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\r \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x05\x88\x01\x01\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x06\x88\x01\x01\x42\n\n\x08_cron_idB\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"Y\n\x11\x44\x65leteCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x0eGetCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xe9\x03\n\x12SearchCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12*\n\x07sort_by\x18\x06 \x01(\x0e\x32\x14.coreApi.CronsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x12\x14\n\x07\x65nabled\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x0b \x01(\x0cH\x07\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\n\n\x08_enabledB\x10\n\x0e_metadata_json\"3\n\x13SearchCronsResponse\x12\x1c\n\x05\x63rons\x18\x01 \x03(\x0b\x32\r.coreApi.Cron\"\x84\x02\n\x11\x43ountCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x04 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x10\n\x0e_metadata_json\"\x9f\x04\n\x10PatchCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08schedule\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x14\n\x07\x65nabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12I\n\x10on_run_completed\x18\x06 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x03\x88\x01\x01\x12*\n\x07payload\x18\x07 \x01(\x0b\x32\x14.coreApi.CronPayloadH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x12\x15\n\x08timezone\x18\n \x01(\tH\x07\x88\x01\x01\x42\x0b\n\t_scheduleB\x0b\n\t_end_timeB\n\n\x08_enabledB\x13\n\x11_on_run_completedB\n\n\x08_payloadB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"\xaa\x01\n\x0b\x43ronWithNow\x12\x1b\n\x04\x63ron\x18\x01 \x01(\x0b\x32\r.coreApi.Cron\x12\'\n\x03now\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x00\x88\x01\x01\x42\x15\n\x13_encryption_context\"8\n\x11NextCronsResponse\x12#\n\x05\x63rons\x18\x01 \x03(\x0b\x32\x14.coreApi.CronWithNow\"j\n\x15SetNextRunDateRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x31\n\rnext_run_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"b\n\x0f\x43\x61\x63heSetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x42\x06\n\x04_ttl\"\x1e\n\x0f\x43\x61\x63heGetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"0\n\x10\x43\x61\x63heGetResponse\x12\x12\n\x05value\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x08\n\x06_value*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*X\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00\x12#\n\x1fTHREAD_TTL_STRATEGY_KEEP_LATEST\x10\x01*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xd1\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04\x12$\n THREADS_SORT_BY_STATE_UPDATED_AT\x10\x05*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02*\xfd\x01\n\x0b\x43ronsSortBy\x12\x1d\n\x19\x43RONS_SORT_BY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43RONS_SORT_BY_CRON_ID\x10\x01\x12\x1e\n\x1a\x43RONS_SORT_BY_ASSISTANT_ID\x10\x02\x12\x1b\n\x17\x43RONS_SORT_BY_THREAD_ID\x10\x03\x12\x1f\n\x1b\x43RONS_SORT_BY_NEXT_RUN_DATE\x10\x04\x12\x1a\n\x16\x43RONS_SORT_BY_END_TIME\x10\x05\x12\x1c\n\x18\x43RONS_SORT_BY_CREATED_AT\x10\x06\x12\x1c\n\x18\x43RONS_SORT_BY_UPDATED_AT\x10\x07\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xbd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12>\n\x06Stream\x12\x1c.coreApi.StreamThreadRequest\x1a\x14.coreApi.StreamEvent0\x01\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x45\n\nGetGraphID\x12\x1a.coreApi.GetGraphIDRequest\x1a\x1b.coreApi.GetGraphIDResponse2\x9f\x07\n\x04Runs\x12?\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x1a.coreApi.CreateRunResponse\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Stream\x12\x1f.coreApi.StreamRunClientMessage\x1a\x14.coreApi.StreamEvent(\x01\x30\x01\x12\x45\n\x07Publish\x12\".coreApi.PublishStreamEventRequest\x1a\x16.google.protobuf.Empty\x12:\n\x05\x45nter\x12\x18.coreApi.EnterRunRequest\x1a\x15.coreApi.ControlEvent0\x01\x12?\n\x08MarkDone\x12\x1b.coreApi.MarkRunDoneRequest\x1a\x16.google.protobuf.Empty\x12\x32\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x11.coreApi.RunStats\x12\x41\n\tPoolStats\x12\x16.google.protobuf.Empty\x1a\x1c.coreApi.ConnectionPoolStats\x12:\n\x05\x43ount\x12\x19.coreApi.CountRunsRequest\x1a\x16.coreApi.CountResponse\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponse2\xe4\x03\n\x05\x43rons\x12\x33\n\x06\x43reate\x12\x1a.coreApi.CreateCronRequest\x1a\r.coreApi.Cron\x12-\n\x03Get\x12\x17.coreApi.GetCronRequest\x1a\r.coreApi.Cron\x12\x31\n\x05Patch\x12\x19.coreApi.PatchCronRequest\x1a\r.coreApi.Cron\x12<\n\x06\x44\x65lete\x12\x1a.coreApi.DeleteCronRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Search\x12\x1b.coreApi.SearchCronsRequest\x1a\x1c.coreApi.SearchCronsResponse\x12;\n\x05\x43ount\x12\x1a.coreApi.CountCronsRequest\x1a\x16.coreApi.CountResponse\x12:\n\x04Next\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.NextCronsResponse\x12H\n\x0eSetNextRunDate\x12\x1e.coreApi.SetNextRunDateRequest\x1a\x16.google.protobuf.Empty2|\n\x05\x43\x61\x63he\x12\x37\n\x03Set\x12\x18.coreApi.CacheSetRequest\x1a\x16.google.protobuf.Empty\x12:\n\x03Get\x12\x18.coreApi.CacheGetRequest\x1a\x19.coreApi.CacheGetResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
42
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x10\x65ncryption.proto\x1a\x13\x65ngine-common.proto\x1a\x15\x65num_run_status.proto\x1a\x1d\x65num_multitask_strategy.proto\x1a\x16\x65num_stream_mode.proto\x1a\x1c\x65num_cancel_run_action.proto\x1a\x18\x65num_thread_status.proto\x1a\x1d\x65num_thread_stream_mode.proto\x1a\x19\x65num_control_signal.proto\x1a enum_cron_on_run_completed.proto\"\x16\n\x04Tags\x12\x0e\n\x06values\x18\x01 \x03(\t\"*\n\x0c\x45qAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05match\x18\x02 \x01(\t\"2\n\x12\x43ontainsAuthFilter\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0f\n\x07matches\x18\x02 \x03(\t\"4\n\x0cOrAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"5\n\rAndAuthFilter\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xc6\x01\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x12*\n\tor_filter\x18\x03 \x01(\x0b\x32\x15.coreApi.OrAuthFilterH\x00\x12,\n\nand_filter\x18\x04 \x01(\x0b\x32\x16.coreApi.AndAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"x\n\x0bStreamEvent\x12\x12\n\nevent_type\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x16\n\tstream_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06run_id\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_stream_idB\t\n\x07_run_id\"\xfa\x02\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\t \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\xd1\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x03\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\x10\n\x0e_metadata_jsonB\x0e\n\x0c_description\"\x9d\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x32\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfig\x12\x14\n\x0c\x63ontext_json\x18\x06 \x01(\x0c\x12\x0c\n\x04name\x18\x07 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\n \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"Q\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xb2\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\x0f\n\r_context_jsonB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_context\"\x84\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1b\n\x0e\x64\x65lete_threads\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_delete_threads\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"h\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xf4\x02\n\x17SearchAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x12\x11\n\x04name\x18\t \x01(\tH\x06\x88\x01\x01\x42\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\x07\n\x05_name\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xc5\x01\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xac\x01\n\x16\x43ountAssistantsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_graph_idB\x10\n\x0e_metadata_jsonB\x07\n\x05_name\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x82\x01\n\rThreadTTLInfo\x12,\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategy\x12\x13\n\x0bttl_minutes\x18\x02 \x01(\x01\x12.\n\nexpires_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\x89\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\x0finterrupts_json\x18\x04 \x03(\x0c\x12\x17\n\nstate_json\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x42\x08\n\x06_errorB\r\n\x0b_state_json\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xa3\x02\n\x11\x43heckpointPayload\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\x13\n\x0bvalues_json\x18\x03 \x01(\x0c\x12\x0c\n\x04next\x18\x04 \x03(\t\x12>\n\rparent_config\x18\x05 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"T\n\x16ThreadStatusCheckpoint\x12\x13\n\x0bvalues_json\x18\x01 \x01(\x0c\x12\x0c\n\x04next\x18\x02 \x03(\t\x12\x17\n\x0finterrupts_json\x18\x03 \x01(\x0c\"\x80\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\r\n\x05value\x18\x02 \x01(\x0c\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xdc\x04\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12.\n\x06status\x18\x06 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12!\n\x06values\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\x08 \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x12 \n\x05\x65rror\x18\t \x01(\x0b\x32\x11.coreApi.Fragment\x12\x34\n\x10state_updated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1b\n\x0e\x65xtracted_json\x18\x0b \x01(\x0cH\x00\x88\x01\x01\x12(\n\x03ttl\x18\x0c \x01(\x0b\x32\x16.coreApi.ThreadTTLInfoH\x01\x88\x01\x01\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\x42\x11\n\x0f_extracted_jsonB\x06\n\x04_ttl\"\xc6\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x1a\n\rmetadata_json\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x06 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_context\"\xc6\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x18\n\x0binclude_ttl\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x32\n\tread_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x01\x88\x01\x01\x42\x0e\n\x0c_include_ttlB\x0c\n\n_read_mask\"\xd7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x12\x32\n\tread_mask\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskH\x03\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x06\n\x04_ttlB\x15\n\x13_encryption_contextB\x0c\n\n_read_mask\"]\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"[\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xa1\x04\n\x14SearchThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x12\x1a\n\x03ids\x18\n \x03(\x0b\x32\r.coreApi.UUID\x12;\n\x07\x65xtract\x18\x0b \x03(\x0b\x32*.coreApi.SearchThreadsRequest.ExtractEntry\x1a.\n\x0c\x45xtractEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xd3\x01\n\x13\x43ountThreadsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x1a\n\rmetadata_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bvalues_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x33\n\x06status\x18\x04 \x01(\x0e\x32\x1e.enumThreadStatus.ThreadStatusH\x02\x88\x01\x01\x42\x10\n\x0e_metadata_jsonB\x0e\n\x0c_values_jsonB\t\n\x07_status\"\xc3\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\ncheckpoint\x18\x02 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x37\n\x0f\x65xpected_status\x18\x04 \x03(\x0e\x32\x1e.enumThreadStatus.ThreadStatus\x12>\n\x12\x65ncryption_context\x18\x05 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xd4\x02\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x38\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1f.coreApi.ThreadStatusCheckpointH\x00\x88\x01\x01\x12\x1b\n\x0e\x65xception_json\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x07 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x02\x88\x01\x01\x42\r\n\x0b_checkpointB\x11\n\x0f_exception_jsonB\x15\n\x13_encryption_context\"\xc9\x01\n\x13StreamThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12<\n\x0cstream_modes\x18\x03 \x03(\x0e\x32&.enumThreadStreamMode.ThreadStreamMode\x12\x1a\n\rlast_event_id\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"\xb9\x05\n\tRunKwargs\x12\x37\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x00\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\ninput_json\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x19\n\x0c\x63ommand_json\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12/\n\x0bstream_mode\x18\x05 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x07\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\t\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\n\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\x0b\x88\x01\x01\x42\t\n\x07_configB\x0f\n\r_context_jsonB\r\n\x0b_input_jsonB\x0f\n\r_command_jsonB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xc4\x03\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x06status\x18\x06 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x44\n\x12multitask_strategy\x18\t \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategy\x12#\n\x16langsmith_session_name\x18\n \x01(\tH\x00\x88\x01\x01\x42\x19\n\x17_langsmith_session_name\"\xba\x02\n\x08RunStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12,\n\x1fpending_runs_wait_time_max_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12,\n\x1fpending_runs_wait_time_med_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x36\n)pending_unblocked_runs_wait_time_max_secs\x18\x05 \x01(\x01H\x02\x88\x01\x01\x42\"\n _pending_runs_wait_time_max_secsB\"\n _pending_runs_wait_time_med_secsB,\n*_pending_unblocked_runs_wait_time_max_secs\"\x82\x01\n\x11PostgresPoolStats\x12\x10\n\x08pool_max\x18\x01 \x01(\x05\x12\x11\n\tpool_size\x18\x02 \x01(\x05\x12\x16\n\x0epool_available\x18\x03 \x01(\x05\x12\x17\n\x0frequests_queued\x18\x04 \x01(\x03\x12\x17\n\x0frequests_errors\x18\x05 \x01(\x03\"_\n\x0eRedisPoolStats\x12\x18\n\x10idle_connections\x18\x01 \x01(\x05\x12\x1a\n\x12in_use_connections\x18\x02 \x01(\x05\x12\x17\n\x0fmax_connections\x18\x03 \x01(\x05\"\x8c\x01\n\x13\x43onnectionPoolStats\x12\x31\n\x08postgres\x18\x01 \x01(\x0b\x32\x1a.coreApi.PostgresPoolStatsH\x00\x88\x01\x01\x12+\n\x05redis\x18\x02 \x01(\x0b\x32\x17.coreApi.RedisPoolStatsH\x01\x88\x01\x01\x42\x0b\n\t_postgresB\x08\n\x06_redis\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"w\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\x12\x39\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContext\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\x92\x07\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x13\n\x0bkwargs_json\x18\x02 \x01(\x0c\x12+\n\x0ethread_filters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x11\x61ssistant_filters\x18\x0e \x03(\x0b\x32\x13.coreApi.AuthFilter\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12-\n\x06status\x18\x07 \x01(\x0e\x32\x18.enumRunStatus.RunStatusH\x03\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\n \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x31\n\nthread_ttl\x18\r \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\t\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\x0f \x01(\x0b\x32\x1d.encryption.EncryptionContextH\n\x88\x01\x01\x12#\n\x16langsmith_session_name\x18\x10 \x01(\tH\x0b\x88\x01\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x10\n\x0e_metadata_jsonB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_secondsB\r\n\x0b_thread_ttlB\x15\n\x13_encryption_contextB\x19\n\x17_langsmith_session_name\"v\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"y\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x03 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xe7\x01\n\x10\x43\x61ncelRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12\x39\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32$.enumCancelRunAction.CancelRunActionH\x01\x88\x01\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xe3\x01\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12-\n\x06status\x18\x05 \x01(\x0e\x32\x18.enumRunStatus.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\tB\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"^\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12(\n\x06status\x18\x02 \x01(\x0e\x32\x18.enumRunStatus.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID\"F\n\x10\x43ountRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08statuses\x18\x02 \x03(\t\"\x7f\n\x16StreamRunClientMessage\x12\x31\n\tsubscribe\x18\x01 \x01(\x0b\x32\x1c.coreApi.SubscribeRunRequestH\x00\x12\'\n\x04join\x18\x02 \x01(\x0b\x32\x17.coreApi.JoinRunRequestH\x00\x42\t\n\x07message\"V\n\x13SubscribeRunRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\"\xd2\x01\n\x0eJoinRunRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x30\n\x0cstream_modes\x18\x02 \x03(\x0e\x32\x1a.enumStreamMode.StreamMode\x12\x1c\n\x14ignore_run_not_found\x18\x03 \x01(\x08\x12\x1c\n\x14\x63\x61ncel_on_disconnect\x18\x04 \x01(\x08\x12\x1a\n\rlast_event_id\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x10\n\x0e_last_event_id\"e\n\x0f\x45nterRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x11\n\tresumable\x18\x03 \x01(\x08\"h\n\x12MarkRunDoneRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x11\n\tresumable\x18\x03 \x01(\x08\"\xa4\x01\n\x19PublishStreamEventRequest\x12\"\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nevent_type\x18\x03 \x01(\t\x12\x0f\n\x07message\x18\x04 \x01(\x0c\x12\x11\n\tresumable\x18\x05 \x01(\x08\x42\t\n\x07_run_id\"5\n\x11GetGraphIDRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\"8\n\x12GetGraphIDResponse\x12\x15\n\x08graph_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_graph_id\"/\n\x11\x43reateRunResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"@\n\x0c\x43ontrolEvent\x12\x30\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32 .enumControlSignal.ControlSignal\"\x88\x05\n\x0b\x43ronPayload\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x17\n\ninput_json\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x37\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\".engineCommon.EngineRunnableConfigH\x01\x88\x01\x01\x12\x19\n\x0c\x63ontext_json\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07webhook\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x42\n\x10interrupt_before\x18\x06 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x04\x88\x01\x01\x12\x41\n\x0finterrupt_after\x18\x07 \x01(\x0b\x32#.engineCommon.StaticInterruptConfigH\x05\x88\x01\x01\x12I\n\x12multitask_strategy\x18\x08 \x01(\x0e\x32(.enumMultitaskStrategy.MultitaskStrategyH\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x37\n\nextra_json\x18\n \x03(\x0b\x32#.coreApi.CronPayload.ExtraJsonEntry\x1a\x30\n\x0e\x45xtraJsonEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\r\n\x0b_input_jsonB\t\n\x07_configB\x0f\n\r_context_jsonB\n\n\x08_webhookB\x13\n\x11_interrupt_beforeB\x12\n\x10_interrupt_afterB\x15\n\x13_multitask_strategyB\x10\n\x0e_metadata_json\"\xcb\x04\n\x04\x43ron\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x14\n\x0c\x61ssistant_id\x18\x02 \x01(\t\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12I\n\x10on_run_completed\x18\x04 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x01\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x10\n\x08schedule\x18\x06 \x01(\t\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x14\n\x07user_id\x18\t \x01(\tH\x03\x88\x01\x01\x12%\n\x07payload\x18\n \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x31\n\rnext_run_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x15\n\rmetadata_json\x18\x0c \x01(\x0c\x12\x0f\n\x07\x65nabled\x18\r \x01(\x08\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x04\x88\x01\x01\x42\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x0b\n\t_timezone\"\x9a\x05\n\x11\x43reateCronRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x10\n\x08schedule\x18\x02 \x01(\t\x12%\n\x07payload\x18\x03 \x01(\x0b\x32\x14.coreApi.CronPayload\x12\x15\n\rmetadata_json\x18\x04 \x01(\x0c\x12#\n\x07\x63ron_id\x18\x05 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12I\n\x10on_run_completed\x18\x07 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x02\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x03\x88\x01\x01\x12\x0f\n\x07\x65nabled\x18\t \x01(\x08\x12.\n\x11\x61ssistant_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x0b \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x14\n\x07user_id\x18\x0c \x01(\tH\x04\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\r \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x05\x88\x01\x01\x12\x15\n\x08timezone\x18\x0e \x01(\tH\x06\x88\x01\x01\x42\n\n\x08_cron_idB\x0c\n\n_thread_idB\x13\n\x11_on_run_completedB\x0b\n\t_end_timeB\n\n\x08_user_idB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"Y\n\x11\x44\x65leteCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"V\n\x0eGetCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\"\xe9\x03\n\x12SearchCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\n \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12*\n\x07sort_by\x18\x06 \x01(\x0e\x32\x14.coreApi.CronsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x12\x14\n\x07\x65nabled\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x0b \x01(\x0cH\x07\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_orderB\n\n\x08_enabledB\x10\n\x0e_metadata_json\"3\n\x13SearchCronsResponse\x12\x1c\n\x05\x63rons\x18\x01 \x03(\x0b\x32\r.coreApi.Cron\"\x84\x02\n\x11\x43ountCronsRequest\x12$\n\x07\x66ilters\x18\x01 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12+\n\x0ethread_filters\x18\x04 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12(\n\x0c\x61ssistant_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12%\n\tthread_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUIDH\x01\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x05 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_assistant_idB\x0c\n\n_thread_idB\x10\n\x0e_metadata_json\"\xb7\x04\n\x10PatchCronRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12$\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x13.coreApi.AuthFilter\x12\x15\n\x08schedule\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x88\x01\x01\x12\x14\n\x07\x65nabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12I\n\x10on_run_completed\x18\x06 \x01(\x0e\x32*.enumCronOnRunCompleted.CronOnRunCompletedH\x03\x88\x01\x01\x12*\n\x07payload\x18\x07 \x01(\x0b\x32\x14.coreApi.CronPayloadH\x04\x88\x01\x01\x12\x1a\n\rmetadata_json\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12>\n\x12\x65ncryption_context\x18\t \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x06\x88\x01\x01\x12\x15\n\x08timezone\x18\n \x01(\tH\x07\x88\x01\x01\x12\x16\n\x0e\x63lear_end_time\x18\x0b \x01(\x08\x42\x0b\n\t_scheduleB\x0b\n\t_end_timeB\n\n\x08_enabledB\x13\n\x11_on_run_completedB\n\n\x08_payloadB\x10\n\x0e_metadata_jsonB\x15\n\x13_encryption_contextB\x0b\n\t_timezone\"\xaa\x01\n\x0b\x43ronWithNow\x12\x1b\n\x04\x63ron\x18\x01 \x01(\x0b\x32\r.coreApi.Cron\x12\'\n\x03now\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12>\n\x12\x65ncryption_context\x18\x03 \x01(\x0b\x32\x1d.encryption.EncryptionContextH\x00\x88\x01\x01\x42\x15\n\x13_encryption_context\"8\n\x11NextCronsResponse\x12#\n\x05\x63rons\x18\x01 \x03(\x0b\x32\x14.coreApi.CronWithNow\"j\n\x15SetNextRunDateRequest\x12\x1e\n\x07\x63ron_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x31\n\rnext_run_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"b\n\x0f\x43\x61\x63heSetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c\x12+\n\x03ttl\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00\x88\x01\x01\x42\x06\n\x04_ttl\"\x1e\n\x0f\x43\x61\x63heGetRequest\x12\x0b\n\x03key\x18\x01 \x01(\t\"0\n\x10\x43\x61\x63heGetResponse\x12\x12\n\x05value\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x08\n\x06_value*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*X\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00\x12#\n\x1fTHREAD_TTL_STRATEGY_KEEP_LATEST\x10\x01*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xd1\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04\x12$\n THREADS_SORT_BY_STATE_UPDATED_AT\x10\x05*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02*\xfd\x01\n\x0b\x43ronsSortBy\x12\x1d\n\x19\x43RONS_SORT_BY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x43RONS_SORT_BY_CRON_ID\x10\x01\x12\x1e\n\x1a\x43RONS_SORT_BY_ASSISTANT_ID\x10\x02\x12\x1b\n\x17\x43RONS_SORT_BY_THREAD_ID\x10\x03\x12\x1f\n\x1b\x43RONS_SORT_BY_NEXT_RUN_DATE\x10\x04\x12\x1a\n\x16\x43RONS_SORT_BY_END_TIME\x10\x05\x12\x1c\n\x18\x43RONS_SORT_BY_CREATED_AT\x10\x06\x12\x1c\n\x18\x43RONS_SORT_BY_UPDATED_AT\x10\x07\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xbd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12>\n\x06Stream\x12\x1c.coreApi.StreamThreadRequest\x1a\x14.coreApi.StreamEvent0\x01\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x45\n\nGetGraphID\x12\x1a.coreApi.GetGraphIDRequest\x1a\x1b.coreApi.GetGraphIDResponse2\x9f\x07\n\x04Runs\x12?\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x1a.coreApi.CreateRunResponse\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Stream\x12\x1f.coreApi.StreamRunClientMessage\x1a\x14.coreApi.StreamEvent(\x01\x30\x01\x12\x45\n\x07Publish\x12\".coreApi.PublishStreamEventRequest\x1a\x16.google.protobuf.Empty\x12:\n\x05\x45nter\x12\x18.coreApi.EnterRunRequest\x1a\x15.coreApi.ControlEvent0\x01\x12?\n\x08MarkDone\x12\x1b.coreApi.MarkRunDoneRequest\x1a\x16.google.protobuf.Empty\x12\x32\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x11.coreApi.RunStats\x12\x41\n\tPoolStats\x12\x16.google.protobuf.Empty\x1a\x1c.coreApi.ConnectionPoolStats\x12:\n\x05\x43ount\x12\x19.coreApi.CountRunsRequest\x1a\x16.coreApi.CountResponse\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponse2\xe4\x03\n\x05\x43rons\x12\x33\n\x06\x43reate\x12\x1a.coreApi.CreateCronRequest\x1a\r.coreApi.Cron\x12-\n\x03Get\x12\x17.coreApi.GetCronRequest\x1a\r.coreApi.Cron\x12\x31\n\x05Patch\x12\x19.coreApi.PatchCronRequest\x1a\r.coreApi.Cron\x12<\n\x06\x44\x65lete\x12\x1a.coreApi.DeleteCronRequest\x1a\x16.google.protobuf.Empty\x12\x43\n\x06Search\x12\x1b.coreApi.SearchCronsRequest\x1a\x1c.coreApi.SearchCronsResponse\x12;\n\x05\x43ount\x12\x1a.coreApi.CountCronsRequest\x1a\x16.coreApi.CountResponse\x12:\n\x04Next\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.NextCronsResponse\x12H\n\x0eSetNextRunDate\x12\x1e.coreApi.SetNextRunDateRequest\x1a\x16.google.protobuf.Empty2|\n\x05\x43\x61\x63he\x12\x37\n\x03Set\x12\x18.coreApi.CacheSetRequest\x1a\x16.google.protobuf.Empty\x12:\n\x03Get\x12\x18.coreApi.CacheGetRequest\x1a\x19.coreApi.CacheGetResponseBAZ?github.com/langchain-ai/langgraph-api/core/internal/core-api/pbb\x06proto3')
43
43
 
44
44
  _globals = globals()
45
45
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -55,24 +55,24 @@ if not _descriptor._USE_C_DESCRIPTORS:
55
55
  _globals['_SEARCHTHREADSREQUEST_EXTRACTENTRY']._serialized_options = b'8\001'
56
56
  _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._loaded_options = None
57
57
  _globals['_CRONPAYLOAD_EXTRAJSONENTRY']._serialized_options = b'8\001'
58
- _globals['_ONCONFLICTBEHAVIOR']._serialized_start=17761
59
- _globals['_ONCONFLICTBEHAVIOR']._serialized_end=17808
60
- _globals['_SORTORDER']._serialized_start=17810
61
- _globals['_SORTORDER']._serialized_end=17840
62
- _globals['_ASSISTANTSSORTBY']._serialized_start=17842
63
- _globals['_ASSISTANTSSORTBY']._serialized_end=17951
64
- _globals['_THREADTTLSTRATEGY']._serialized_start=17953
65
- _globals['_THREADTTLSTRATEGY']._serialized_end=18041
66
- _globals['_CHECKPOINTSOURCE']._serialized_start=18044
67
- _globals['_CHECKPOINTSOURCE']._serialized_end=18212
68
- _globals['_THREADSSORTBY']._serialized_start=18215
69
- _globals['_THREADSSORTBY']._serialized_end=18424
70
- _globals['_CREATERUNBEHAVIOR']._serialized_start=18426
71
- _globals['_CREATERUNBEHAVIOR']._serialized_end=18522
72
- _globals['_CANCELRUNSTATUS']._serialized_start=18524
73
- _globals['_CANCELRUNSTATUS']._serialized_end=18630
74
- _globals['_CRONSSORTBY']._serialized_start=18633
75
- _globals['_CRONSSORTBY']._serialized_end=18886
58
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_start=17785
59
+ _globals['_ONCONFLICTBEHAVIOR']._serialized_end=17832
60
+ _globals['_SORTORDER']._serialized_start=17834
61
+ _globals['_SORTORDER']._serialized_end=17864
62
+ _globals['_ASSISTANTSSORTBY']._serialized_start=17866
63
+ _globals['_ASSISTANTSSORTBY']._serialized_end=17975
64
+ _globals['_THREADTTLSTRATEGY']._serialized_start=17977
65
+ _globals['_THREADTTLSTRATEGY']._serialized_end=18065
66
+ _globals['_CHECKPOINTSOURCE']._serialized_start=18068
67
+ _globals['_CHECKPOINTSOURCE']._serialized_end=18236
68
+ _globals['_THREADSSORTBY']._serialized_start=18239
69
+ _globals['_THREADSSORTBY']._serialized_end=18448
70
+ _globals['_CREATERUNBEHAVIOR']._serialized_start=18450
71
+ _globals['_CREATERUNBEHAVIOR']._serialized_end=18546
72
+ _globals['_CANCELRUNSTATUS']._serialized_start=18548
73
+ _globals['_CANCELRUNSTATUS']._serialized_end=18654
74
+ _globals['_CRONSSORTBY']._serialized_start=18657
75
+ _globals['_CRONSSORTBY']._serialized_end=18910
76
76
  _globals['_TAGS']._serialized_start=450
77
77
  _globals['_TAGS']._serialized_end=472
78
78
  _globals['_EQAUTHFILTER']._serialized_start=474
@@ -246,29 +246,29 @@ if not _descriptor._USE_C_DESCRIPTORS:
246
246
  _globals['_COUNTCRONSREQUEST']._serialized_start=16432
247
247
  _globals['_COUNTCRONSREQUEST']._serialized_end=16692
248
248
  _globals['_PATCHCRONREQUEST']._serialized_start=16695
249
- _globals['_PATCHCRONREQUEST']._serialized_end=17238
250
- _globals['_CRONWITHNOW']._serialized_start=17241
251
- _globals['_CRONWITHNOW']._serialized_end=17411
252
- _globals['_NEXTCRONSRESPONSE']._serialized_start=17413
253
- _globals['_NEXTCRONSRESPONSE']._serialized_end=17469
254
- _globals['_SETNEXTRUNDATEREQUEST']._serialized_start=17471
255
- _globals['_SETNEXTRUNDATEREQUEST']._serialized_end=17577
256
- _globals['_CACHESETREQUEST']._serialized_start=17579
257
- _globals['_CACHESETREQUEST']._serialized_end=17677
258
- _globals['_CACHEGETREQUEST']._serialized_start=17679
259
- _globals['_CACHEGETREQUEST']._serialized_end=17709
260
- _globals['_CACHEGETRESPONSE']._serialized_start=17711
261
- _globals['_CACHEGETRESPONSE']._serialized_end=17759
262
- _globals['_ASSISTANTS']._serialized_start=18889
263
- _globals['_ASSISTANTS']._serialized_end=19466
264
- _globals['_ADMIN']._serialized_start=19468
265
- _globals['_ADMIN']._serialized_end=19537
266
- _globals['_THREADS']._serialized_start=19540
267
- _globals['_THREADS']._serialized_end=20241
268
- _globals['_RUNS']._serialized_start=20244
269
- _globals['_RUNS']._serialized_end=21171
270
- _globals['_CRONS']._serialized_start=21174
271
- _globals['_CRONS']._serialized_end=21658
272
- _globals['_CACHE']._serialized_start=21660
273
- _globals['_CACHE']._serialized_end=21784
249
+ _globals['_PATCHCRONREQUEST']._serialized_end=17262
250
+ _globals['_CRONWITHNOW']._serialized_start=17265
251
+ _globals['_CRONWITHNOW']._serialized_end=17435
252
+ _globals['_NEXTCRONSRESPONSE']._serialized_start=17437
253
+ _globals['_NEXTCRONSRESPONSE']._serialized_end=17493
254
+ _globals['_SETNEXTRUNDATEREQUEST']._serialized_start=17495
255
+ _globals['_SETNEXTRUNDATEREQUEST']._serialized_end=17601
256
+ _globals['_CACHESETREQUEST']._serialized_start=17603
257
+ _globals['_CACHESETREQUEST']._serialized_end=17701
258
+ _globals['_CACHEGETREQUEST']._serialized_start=17703
259
+ _globals['_CACHEGETREQUEST']._serialized_end=17733
260
+ _globals['_CACHEGETRESPONSE']._serialized_start=17735
261
+ _globals['_CACHEGETRESPONSE']._serialized_end=17783
262
+ _globals['_ASSISTANTS']._serialized_start=18913
263
+ _globals['_ASSISTANTS']._serialized_end=19490
264
+ _globals['_ADMIN']._serialized_start=19492
265
+ _globals['_ADMIN']._serialized_end=19561
266
+ _globals['_THREADS']._serialized_start=19564
267
+ _globals['_THREADS']._serialized_end=20265
268
+ _globals['_RUNS']._serialized_start=20268
269
+ _globals['_RUNS']._serialized_end=21195
270
+ _globals['_CRONS']._serialized_start=21198
271
+ _globals['_CRONS']._serialized_end=21682
272
+ _globals['_CACHE']._serialized_start=21684
273
+ _globals['_CACHE']._serialized_end=21808
274
274
  # @@protoc_insertion_point(module_scope)
@@ -3500,11 +3500,17 @@ class PatchCronRequest(_message.Message):
3500
3500
  METADATA_JSON_FIELD_NUMBER: _builtins.int
3501
3501
  ENCRYPTION_CONTEXT_FIELD_NUMBER: _builtins.int
3502
3502
  TIMEZONE_FIELD_NUMBER: _builtins.int
3503
+ CLEAR_END_TIME_FIELD_NUMBER: _builtins.int
3503
3504
  schedule: _builtins.str
3504
3505
  enabled: _builtins.bool
3505
3506
  on_run_completed: _enum_cron_on_run_completed_pb2.CronOnRunCompleted.ValueType
3506
3507
  metadata_json: _builtins.bytes
3507
3508
  timezone: _builtins.str
3509
+ clear_end_time: _builtins.bool
3510
+ """Distinguishes "clear the end time" from "leave it unchanged": end_time
3511
+ above cannot carry an explicit null, so when this is true the server sets
3512
+ end_time to NULL instead of coalescing to the existing value.
3513
+ """
3508
3514
  @_builtins.property
3509
3515
  def cron_id(self) -> Global___UUID: ...
3510
3516
  @_builtins.property
@@ -3528,10 +3534,11 @@ class PatchCronRequest(_message.Message):
3528
3534
  metadata_json: _builtins.bytes | None = ...,
3529
3535
  encryption_context: _encryption_pb2.EncryptionContext | None = ...,
3530
3536
  timezone: _builtins.str | None = ...,
3537
+ clear_end_time: _builtins.bool = ...,
3531
3538
  ) -> None: ...
3532
3539
  _HasFieldArgType: _TypeAlias = _typing.Literal["_enabled", b"_enabled", "_encryption_context", b"_encryption_context", "_end_time", b"_end_time", "_metadata_json", b"_metadata_json", "_on_run_completed", b"_on_run_completed", "_payload", b"_payload", "_schedule", b"_schedule", "_timezone", b"_timezone", "cron_id", b"cron_id", "enabled", b"enabled", "encryption_context", b"encryption_context", "end_time", b"end_time", "metadata_json", b"metadata_json", "on_run_completed", b"on_run_completed", "payload", b"payload", "schedule", b"schedule", "timezone", b"timezone"] # noqa: Y015
3533
3540
  def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
3534
- _ClearFieldArgType: _TypeAlias = _typing.Literal["_enabled", b"_enabled", "_encryption_context", b"_encryption_context", "_end_time", b"_end_time", "_metadata_json", b"_metadata_json", "_on_run_completed", b"_on_run_completed", "_payload", b"_payload", "_schedule", b"_schedule", "_timezone", b"_timezone", "cron_id", b"cron_id", "enabled", b"enabled", "encryption_context", b"encryption_context", "end_time", b"end_time", "filters", b"filters", "metadata_json", b"metadata_json", "on_run_completed", b"on_run_completed", "payload", b"payload", "schedule", b"schedule", "timezone", b"timezone"] # noqa: Y015
3541
+ _ClearFieldArgType: _TypeAlias = _typing.Literal["_enabled", b"_enabled", "_encryption_context", b"_encryption_context", "_end_time", b"_end_time", "_metadata_json", b"_metadata_json", "_on_run_completed", b"_on_run_completed", "_payload", b"_payload", "_schedule", b"_schedule", "_timezone", b"_timezone", "clear_end_time", b"clear_end_time", "cron_id", b"cron_id", "enabled", b"enabled", "encryption_context", b"encryption_context", "end_time", b"end_time", "filters", b"filters", "metadata_json", b"metadata_json", "on_run_completed", b"on_run_completed", "payload", b"payload", "schedule", b"schedule", "timezone", b"timezone"] # noqa: Y015
3535
3542
  def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
3536
3543
  _WhichOneofReturnType__enabled: _TypeAlias = _typing.Literal["enabled"] # noqa: Y015
3537
3544
  _WhichOneofArgType__enabled: _TypeAlias = _typing.Literal["_enabled", b"_enabled"] # noqa: Y015
openapi.json CHANGED
@@ -4550,10 +4550,10 @@
4550
4550
  "description": "IANA timezone for the cron schedule (e.g. 'America/New_York'). Defaults to null, which is treated as UTC."
4551
4551
  },
4552
4552
  "end_time": {
4553
- "type": "string",
4553
+ "type": ["string", "null"],
4554
4554
  "format": "date-time",
4555
4555
  "title": "End Time",
4556
- "description": "The end date to stop running the cron."
4556
+ "description": "The end date to stop running the cron. Send null to clear a previously set end time; omit this field to leave the existing value unchanged."
4557
4557
  },
4558
4558
  "input": {
4559
4559
  "anyOf": [