langgraph-api 0.4.30__py3-none-any.whl → 0.4.32__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of langgraph-api might be problematic. Click here for more details.
- langgraph_api/__init__.py +1 -1
- langgraph_api/api/assistants.py +1 -1
- langgraph_api/graph.py +8 -7
- langgraph_api/grpc_ops/generated/core_api_pb2.py +193 -193
- langgraph_api/grpc_ops/generated/core_api_pb2.pyi +18 -16
- langgraph_api/grpc_ops/ops.py +87 -18
- langgraph_api/queue_entrypoint.py +70 -7
- langgraph_api/utils/errors.py +77 -0
- langgraph_api/worker.py +1 -0
- {langgraph_api-0.4.30.dist-info → langgraph_api-0.4.32.dist-info}/METADATA +1 -1
- {langgraph_api-0.4.30.dist-info → langgraph_api-0.4.32.dist-info}/RECORD +14 -14
- langgraph_api/grpc_ops/scripts/generate_protos.sh +0 -47
- {langgraph_api-0.4.30.dist-info → langgraph_api-0.4.32.dist-info}/WHEEL +0 -0
- {langgraph_api-0.4.30.dist-info → langgraph_api-0.4.32.dist-info}/entry_points.txt +0 -0
- {langgraph_api-0.4.30.dist-info → langgraph_api-0.4.32.dist-info}/licenses/LICENSE +0 -0
langgraph_api/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.4.
|
|
1
|
+
__version__ = "0.4.32"
|
langgraph_api/api/assistants.py
CHANGED
|
@@ -57,7 +57,7 @@ def _get_configurable_jsonschema(graph: Pregel) -> dict:
|
|
|
57
57
|
|
|
58
58
|
Important: we only return the `configurable` part of the schema.
|
|
59
59
|
|
|
60
|
-
The default get_config_schema method returns the entire schema (
|
|
60
|
+
The default get_config_schema method returns the entire schema (Config),
|
|
61
61
|
which includes other root keys like "max_concurrency", which we
|
|
62
62
|
do not want to expose.
|
|
63
63
|
|
langgraph_api/graph.py
CHANGED
|
@@ -26,6 +26,7 @@ from langgraph_api.feature_flags import FF_USE_CORE_API, USE_RUNTIME_CONTEXT_API
|
|
|
26
26
|
from langgraph_api.js.base import BaseRemotePregel, is_js_path
|
|
27
27
|
from langgraph_api.schema import Config
|
|
28
28
|
from langgraph_api.utils.config import run_in_executor, var_child_runnable_config
|
|
29
|
+
from langgraph_api.utils.errors import GraphLoadError
|
|
29
30
|
|
|
30
31
|
if TYPE_CHECKING:
|
|
31
32
|
from langchain_core.embeddings import Embeddings
|
|
@@ -57,12 +58,9 @@ async def register_graph(
|
|
|
57
58
|
Assistants = AssistantsGrpc if FF_USE_CORE_API else AssistantsRuntime
|
|
58
59
|
|
|
59
60
|
await logger.ainfo(f"Registering graph with id '{graph_id}'", graph_id=graph_id)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
FACTORY_ACCEPTS_CONFIG[graph_id] = (
|
|
64
|
-
len(inspect.signature(graph).parameters) > 0
|
|
65
|
-
)
|
|
61
|
+
GRAPHS[graph_id] = graph
|
|
62
|
+
if callable(graph):
|
|
63
|
+
FACTORY_ACCEPTS_CONFIG[graph_id] = len(inspect.signature(graph).parameters) > 0
|
|
66
64
|
|
|
67
65
|
from langgraph_runtime.retry import retry_db
|
|
68
66
|
|
|
@@ -417,7 +415,10 @@ async def collect_graphs_from_env(register: bool = False) -> None:
|
|
|
417
415
|
)
|
|
418
416
|
|
|
419
417
|
for spec in py_specs:
|
|
420
|
-
|
|
418
|
+
try:
|
|
419
|
+
graph = await run_in_executor(None, _graph_from_spec, spec)
|
|
420
|
+
except Exception as exc:
|
|
421
|
+
raise GraphLoadError(spec, exc) from exc
|
|
421
422
|
if register:
|
|
422
423
|
await register_graph(
|
|
423
424
|
spec.id, graph, spec.config, description=spec.description
|
|
@@ -27,7 +27,7 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
|
|
|
27
27
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x95\x01\n\x0eRunnableConfig\x12\x0c\n\x04tags\x18\x01 \x03(\t\x12\x1c\n\x0frecursion_limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x32\n\x0c\x63onfigurable\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x12\n\x10_recursion_limitB\x0f\n\r_configurable\"\x1d\n\x0c\x45qAuthFilter\x12\r\n\x05match\x18\x01 \x01(\t\"=\n\x12\x43ontainsAuthFilter\x12\'\n\x07matches\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value\"l\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\x9b\x03\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\t \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xf2\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xca\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.coreApi.CreateAssistantRequest.FiltersEntry\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\'\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfig\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\x04name\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x01\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xac\x01\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.GetAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xcb\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12<\n\x07\x66ilters\x18\x02 \x03(\x0b\x32+.coreApi.PatchAssistantRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12,\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x01\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\n\n\x08_contextB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xb2\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12=\n\x07\x66ilters\x18\x02 \x03(\x0b\x32,.coreApi.DeleteAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"\xc9\x01\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.coreApi.SetLatestAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc6\x03\n\x17SearchAssistantsRequest\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32-.coreApi.SearchAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xb7\x02\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x42\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x31.coreApi.GetAssistantVersionsRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xfd\x01\n\x16\x43ountAssistantsRequest\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.coreApi.CountAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadata\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xac\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n\ninterrupts\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x05state\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x08\n\x06_state\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\xa1\x02\n\x11\x43heckpointPayload\x12,\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\'\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04next\x18\x04 \x03(\t\x12\x33\n\rparent_config\x18\x05 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x99\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xbd\x03\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x07 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x08 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\t \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\"\xd9\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.CreateThreadRequest.FiltersEntry\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb2\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x02 \x03(\x0b\x32&.coreApi.GetThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xa7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x39\n\x07\x66ilters\x18\x02 \x03(\x0b\x32(.coreApi.PatchThreadRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb8\x01\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.DeleteThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xb4\x01\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.CopyThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\x89\x04\n\x14SearchThreadsRequest\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32*.coreApi.SearchThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xc3\x02\n\x13\x43ountThreadsRequest\x12:\n\x07\x66ilters\x18\x01 \x03(\x0b\x32).coreApi.CountThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_status\";\n\x17SweepThreadsTTLResponse\x12\x0f\n\x07\x65xpired\x18\x01 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x02 \x01(\x04\"J\n\x16SweepThreadsTTLRequest\x12\x12\n\nbatch_size\x18\x01 \x01(\x04\x12\x12\n\x05limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_limit\"\x94\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12%\n\x06status\x18\x02 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12\x33\n\ncheckpoint\x18\x03 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x0f\x65xpected_status\x18\x05 \x03(\x0e\x32\x15.coreApi.ThreadStatusB\r\n\x0b_checkpointB\x0c\n\n_exception\"\xee\x01\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x33\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12\x16\n\texception\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xd3\x01\n\x14JointRollbackRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08graph_id\x18\x03 \x01(\t\x12\x33\n\ncheckpoint\x18\x04 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12\x16\n\texception\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xd7\x04\n\tRunKwargs\x12,\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x17.coreApi.RunnableConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12-\n\x07\x63ommand\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x03\x88\x01\x01\x12(\n\x0bstream_mode\x18\x05 \x01(\x0e\x32\x13.coreApi.StreamMode\x12\x18\n\x10interrupt_before\x18\x06 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x07 \x03(\t\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x05\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\x08\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\t\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x08\n\x06_inputB\n\n\x08_commandB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xf0\x02\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x06status\x18\x06 \x01(\x0e\x32\x12.coreApi.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x36\n\x12multitask_strategy\x18\t \x01(\x0e\x32\x1a.coreApi.MultitaskStrategy\"\x8a\x01\n\nQueueStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12\x19\n\x0cmax_age_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmed_age_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\x0f\n\r_max_age_secsB\x0f\n\r_med_age_secs\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"<\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\xe9\x05\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\'\n\x06kwargs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.CreateRunRequest.FiltersEntry\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12\'\n\x06status\x18\x07 \x01(\x0e\x32\x12.coreApi.RunStatusH\x03\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12;\n\x12multitask_strategy\x18\n \x01(\x0e\x32\x1a.coreApi.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x0b\n\t_metadataB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_seconds\"\xcb\x01\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x34\n\x07\x66ilters\x18\x03 \x03(\x0b\x32#.coreApi.GetRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd1\x01\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.DeleteRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xb3\x02\n\x10\x43\x61ncelRunRequest\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.coreApi.CancelRunRequest.FiltersEntry\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12-\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x18.coreApi.CancelRunActionH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xb6\x02\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.SearchRunsRequest.FiltersEntry\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\'\n\x06status\x18\x05 \x01(\x0e\x32\x12.coreApi.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"X\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.coreApi.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*v\n\x0cThreadStatus\x12\x16\n\x12THREAD_STATUS_IDLE\x10\x00\x12\x16\n\x12THREAD_STATUS_BUSY\x10\x01\x12\x1d\n\x19THREAD_STATUS_INTERRUPTED\x10\x02\x12\x17\n\x13THREAD_STATUS_ERROR\x10\x03*3\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xab\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04*\x9d\x01\n\tRunStatus\x12\x16\n\x12RUN_STATUS_PENDING\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x14\n\x10RUN_STATUS_ERROR\x10\x02\x12\x16\n\x12RUN_STATUS_SUCCESS\x10\x03\x12\x16\n\x12RUN_STATUS_TIMEOUT\x10\x04\x12\x1a\n\x16RUN_STATUS_INTERRUPTED\x10\x05*\xb9\x01\n\x11MultitaskStrategy\x12\"\n\x1eMULTITASK_STRATEGY_UNSPECIFIED\x10\x00\x12\x1d\n\x19MULTITASK_STRATEGY_REJECT\x10\x01\x12\x1f\n\x1bMULTITASK_STRATEGY_ROLLBACK\x10\x02\x12 \n\x1cMULTITASK_STRATEGY_INTERRUPT\x10\x03\x12\x1e\n\x1aMULTITASK_STRATEGY_ENQUEUE\x10\x04*\xef\x01\n\nStreamMode\x12\x1b\n\x17STREAM_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12STREAM_MODE_VALUES\x10\x01\x12\x18\n\x14STREAM_MODE_MESSAGES\x10\x02\x12\x17\n\x13STREAM_MODE_UPDATES\x10\x03\x12\x16\n\x12STREAM_MODE_EVENTS\x10\x04\x12\x15\n\x11STREAM_MODE_DEBUG\x10\x05\x12\x15\n\x11STREAM_MODE_TASKS\x10\x06\x12\x1b\n\x17STREAM_MODE_CHECKPOINTS\x10\x07\x12\x16\n\x12STREAM_MODE_CUSTOM\x10\x08*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*R\n\x0f\x43\x61ncelRunAction\x12\x1f\n\x1b\x43\x41NCEL_RUN_ACTION_INTERRUPT\x10\x00\x12\x1e\n\x1a\x43\x41NCEL_RUN_ACTION_ROLLBACK\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xcd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\rJointRollback\x12\x1d.coreApi.JointRollbackRequest\x1a\x16.google.protobuf.Empty\x12M\n\x08SweepTTL\x12\x1f.coreApi.SweepThreadsTTLRequest\x1a .coreApi.SweepThreadsTTLResponse2\x8b\x04\n\x04Runs\x12\x31\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x0c.coreApi.Run\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x13.coreApi.QueueStats\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponseB<Z:github.com/langchain-ai/langgraph-api/core-api/internal/pbb\x06proto3')
|
|
30
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0e\x63ore-api.proto\x12\x07\x63oreApi\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xab\x01\n\x06\x43onfig\x12\x0c\n\x04tags\x18\x01 \x03(\t\x12\x1c\n\x0frecursion_limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x32\n\x0c\x63onfigurable\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05\x65xtra\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x12\n\x10_recursion_limitB\x0f\n\r_configurableB\x08\n\x06_extra\"\x1d\n\x0c\x45qAuthFilter\x12\r\n\x05match\x18\x01 \x01(\t\"=\n\x12\x43ontainsAuthFilter\x12\'\n\x07matches\x18\x01 \x03(\x0b\x32\x16.google.protobuf.Value\"l\n\nAuthFilter\x12#\n\x02\x65q\x18\x01 \x01(\x0b\x32\x15.coreApi.EqAuthFilterH\x00\x12/\n\x08\x63ontains\x18\x02 \x01(\x0b\x32\x1b.coreApi.ContainsAuthFilterH\x00\x42\x08\n\x06\x66ilter\"\x15\n\x04UUID\x12\r\n\x05value\x18\x01 \x01(\t\"\x1e\n\rCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"\x93\x03\n\tAssistant\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12$\n\x06\x63onfig\x18\x06 \x01(\x0b\x32\x0f.coreApi.ConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\t \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\n \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xea\x02\n\x10\x41ssistantVersion\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\x04\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12$\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x0f.coreApi.ConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x08metadata\x18\x07 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\t \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x0b\n\t_metadataB\x07\n\x05_nameB\x0e\n\x0c_description\"\xc2\x03\n\x16\x43reateAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x10\n\x08graph_id\x18\x02 \x01(\t\x12=\n\x07\x66ilters\x18\x03 \x03(\x0b\x32,.coreApi.CreateAssistantRequest.FiltersEntry\x12.\n\tif_exists\x18\x04 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12\x1f\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x0f.coreApi.Config\x12(\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\x04name\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x01\x88\x01\x01\x12.\n\x08metadata\x18\t \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xac\x01\n\x13GetAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.GetAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc3\x03\n\x15PatchAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12<\n\x07\x66ilters\x18\x02 \x03(\x0b\x32+.coreApi.PatchAssistantRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12$\n\x06\x63onfig\x18\x04 \x01(\x0b\x32\x0f.coreApi.ConfigH\x01\x88\x01\x01\x12-\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12\x11\n\x04name\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x04\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x05\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\t\n\x07_configB\n\n\x08_contextB\x07\n\x05_nameB\x0e\n\x0c_descriptionB\x0b\n\t_metadata\"\xb2\x01\n\x16\x44\x65leteAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12=\n\x07\x66ilters\x18\x02 \x03(\x0b\x32,.coreApi.DeleteAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"1\n\x18\x44\x65leteAssistantsResponse\x12\x15\n\rassistant_ids\x18\x01 \x03(\t\"\xc9\x01\n\x19SetLatestAssistantRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\x03\x12@\n\x07\x66ilters\x18\x03 \x03(\x0b\x32/.coreApi.SetLatestAssistantRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xc6\x03\n\x17SearchAssistantsRequest\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32-.coreApi.SearchAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12/\n\x07sort_by\x18\x06 \x01(\x0e\x32\x19.coreApi.AssistantsSortByH\x04\x88\x01\x01\x12+\n\nsort_order\x18\x07 \x01(\x0e\x32\x12.coreApi.SortOrderH\x05\x88\x01\x01\x12\x0e\n\x06select\x18\x08 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"B\n\x18SearchAssistantsResponse\x12&\n\nassistants\x18\x01 \x03(\x0b\x32\x12.coreApi.Assistant\"\xb7\x02\n\x1bGetAssistantVersionsRequest\x12\x14\n\x0c\x61ssistant_id\x18\x01 \x01(\t\x12\x42\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x31.coreApi.GetAssistantVersionsRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06offset\x18\x05 \x01(\x04H\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x08\n\x06_limitB\t\n\x07_offset\"K\n\x1cGetAssistantVersionsResponse\x12+\n\x08versions\x18\x01 \x03(\x0b\x32\x19.coreApi.AssistantVersion\"\xfd\x01\n\x16\x43ountAssistantsRequest\x12=\n\x07\x66ilters\x18\x01 \x03(\x0b\x32,.coreApi.CountAssistantsRequest.FiltersEntry\x12\x15\n\x08graph_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_graph_idB\x0b\n\t_metadata\"i\n\x0fTruncateRequest\x12\x0c\n\x04runs\x18\x01 \x01(\x08\x12\x0f\n\x07threads\x18\x02 \x01(\x08\x12\x12\n\nassistants\x18\x03 \x01(\x08\x12\x14\n\x0c\x63heckpointer\x18\x04 \x01(\x08\x12\r\n\x05store\x18\x05 \x01(\x08\"\xbb\x01\n\x0fThreadTTLConfig\x12\x31\n\x08strategy\x18\x01 \x01(\x0e\x32\x1a.coreApi.ThreadTTLStrategyH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65\x66\x61ult_ttl\x18\x02 \x01(\x01H\x01\x88\x01\x01\x12#\n\x16sweep_interval_minutes\x18\x03 \x01(\x05H\x02\x88\x01\x01\x42\x0b\n\t_strategyB\x0e\n\x0c_default_ttlB\x19\n\x17_sweep_interval_minutes\"\x19\n\x08\x46ragment\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xac\x01\n\x0e\x43heckpointTask\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x12\n\x05\x65rror\x18\x03 \x01(\tH\x00\x88\x01\x01\x12+\n\ninterrupts\x18\x04 \x03(\x0b\x32\x17.google.protobuf.Struct\x12+\n\x05state\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x42\x08\n\x06_errorB\x08\n\x06_state\"\xd6\x01\n\x12\x43heckpointMetadata\x12.\n\x06source\x18\x01 \x01(\x0e\x32\x19.coreApi.CheckpointSourceH\x00\x88\x01\x01\x12\x11\n\x04step\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x39\n\x07parents\x18\x03 \x03(\x0b\x32(.coreApi.CheckpointMetadata.ParentsEntry\x1a.\n\x0cParentsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_sourceB\x07\n\x05_step\"\x91\x02\n\x11\x43heckpointPayload\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x0f.coreApi.ConfigH\x00\x88\x01\x01\x12-\n\x08metadata\x18\x02 \x01(\x0b\x32\x1b.coreApi.CheckpointMetadata\x12\'\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x0c\n\x04next\x18\x04 \x03(\t\x12+\n\rparent_config\x18\x05 \x01(\x0b\x32\x0f.coreApi.ConfigH\x01\x88\x01\x01\x12&\n\x05tasks\x18\x06 \x03(\x0b\x32\x17.coreApi.CheckpointTaskB\t\n\x07_configB\x10\n\x0e_parent_config\"\x99\x01\n\tInterrupt\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x11\n\x04when\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x16\n\tresumable\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\n\n\x02ns\x18\x05 \x03(\tB\x05\n\x03_idB\x07\n\x05_whenB\x0c\n\n_resumable\"4\n\nInterrupts\x12&\n\ninterrupts\x18\x01 \x03(\x0b\x32\x12.coreApi.Interrupt\"\xbd\x03\n\x06Thread\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.coreApi.Fragment\x12!\n\x06\x63onfig\x18\x05 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x07\x63ontext\x18\x06 \x01(\x0b\x32\x11.coreApi.Fragment\x12%\n\x06status\x18\x07 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12!\n\x06values\x18\x08 \x01(\x0b\x32\x11.coreApi.Fragment\x12\x33\n\ninterrupts\x18\t \x03(\x0b\x32\x1f.coreApi.Thread.InterruptsEntry\x1a\x46\n\x0fInterruptsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.Interrupts:\x02\x38\x01\"\xd9\x02\n\x13\x43reateThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.CreateThreadRequest.FiltersEntry\x12.\n\tif_exists\x18\x03 \x01(\x0e\x32\x1b.coreApi.OnConflictBehavior\x12.\n\x08metadata\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x05 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb2\x01\n\x10GetThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x02 \x03(\x0b\x32&.coreApi.GetThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xa7\x02\n\x12PatchThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x39\n\x07\x66ilters\x18\x02 \x03(\x0b\x32(.coreApi.PatchThreadRequest.FiltersEntry\x12.\n\x08metadata\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12*\n\x03ttl\x18\x04 \x01(\x0b\x32\x18.coreApi.ThreadTTLConfigH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\x06\n\x04_ttl\"\xb8\x01\n\x13\x44\x65leteThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12:\n\x07\x66ilters\x18\x02 \x03(\x0b\x32).coreApi.DeleteThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xb4\x01\n\x11\x43opyThreadRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.CopyThreadRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\x89\x04\n\x14SearchThreadsRequest\x12;\n\x07\x66ilters\x18\x01 \x03(\x0b\x32*.coreApi.SearchThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x13\n\x06offset\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12,\n\x07sort_by\x18\x07 \x01(\x0e\x32\x16.coreApi.ThreadsSortByH\x05\x88\x01\x01\x12+\n\nsort_order\x18\x08 \x01(\x0e\x32\x12.coreApi.SortOrderH\x06\x88\x01\x01\x12\x0e\n\x06select\x18\t \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_statusB\x08\n\x06_limitB\t\n\x07_offsetB\n\n\x08_sort_byB\r\n\x0b_sort_order\"9\n\x15SearchThreadsResponse\x12 \n\x07threads\x18\x01 \x03(\x0b\x32\x0f.coreApi.Thread\"\xc3\x02\n\x13\x43ountThreadsRequest\x12:\n\x07\x66ilters\x18\x01 \x03(\x0b\x32).coreApi.CountThreadsRequest.FiltersEntry\x12.\n\x08metadata\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x00\x88\x01\x01\x12,\n\x06values\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12*\n\x06status\x18\x04 \x01(\x0e\x32\x15.coreApi.ThreadStatusH\x02\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0b\n\t_metadataB\t\n\x07_valuesB\t\n\x07_status\";\n\x17SweepThreadsTTLResponse\x12\x0f\n\x07\x65xpired\x18\x01 \x01(\x04\x12\x0f\n\x07\x64\x65leted\x18\x02 \x01(\x04\"J\n\x16SweepThreadsTTLRequest\x12\x12\n\nbatch_size\x18\x01 \x01(\x04\x12\x12\n\x05limit\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\x08\n\x06_limit\"\x94\x02\n\x16SetThreadStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12%\n\x06status\x18\x02 \x01(\x0e\x32\x15.coreApi.ThreadStatus\x12\x33\n\ncheckpoint\x18\x03 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12/\n\texception\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12.\n\x0f\x65xpected_status\x18\x05 \x03(\x0e\x32\x15.coreApi.ThreadStatusB\r\n\x0b_checkpointB\x0c\n\n_exception\"\xee\x01\n\x1bSetThreadJointStatusRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x12\n\nrun_status\x18\x03 \x01(\t\x12\x10\n\x08graph_id\x18\x04 \x01(\t\x12\x33\n\ncheckpoint\x18\x05 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12\x16\n\texception\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xd3\x01\n\x14JointRollbackRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1d\n\x06run_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x10\n\x08graph_id\x18\x03 \x01(\t\x12\x33\n\ncheckpoint\x18\x04 \x01(\x0b\x32\x1a.coreApi.CheckpointPayloadH\x00\x88\x01\x01\x12\x16\n\texception\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_checkpointB\x0c\n\n_exception\"\xcf\x04\n\tRunKwargs\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x0f.coreApi.ConfigH\x00\x88\x01\x01\x12-\n\x07\x63ontext\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructH\x01\x88\x01\x01\x12+\n\x05input\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x02\x88\x01\x01\x12-\n\x07\x63ommand\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructH\x03\x88\x01\x01\x12(\n\x0bstream_mode\x18\x05 \x01(\x0e\x32\x13.coreApi.StreamMode\x12\x18\n\x10interrupt_before\x18\x06 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x07 \x03(\t\x12\x14\n\x07webhook\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x15\n\rfeedback_keys\x18\t \x03(\t\x12\x16\n\ttemporary\x18\n \x01(\x08H\x05\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12\x16\n\tresumable\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12\x1e\n\x11\x63heckpoint_during\x18\r \x01(\x08H\x08\x88\x01\x01\x12\x17\n\ndurability\x18\x0e \x01(\tH\t\x88\x01\x01\x42\t\n\x07_configB\n\n\x08_contextB\x08\n\x06_inputB\n\n\x08_commandB\n\n\x08_webhookB\x0c\n\n_temporaryB\x0c\n\n_subgraphsB\x0c\n\n_resumableB\x14\n\x12_checkpoint_duringB\r\n\x0b_durability\"\xf0\x02\n\x03Run\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12#\n\x0c\x61ssistant_id\x18\x03 \x01(\x0b\x32\r.coreApi.UUID\x12.\n\ncreated_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\"\n\x06status\x18\x06 \x01(\x0e\x32\x12.coreApi.RunStatus\x12#\n\x08metadata\x18\x07 \x01(\x0b\x32\x11.coreApi.Fragment\x12\"\n\x06kwargs\x18\x08 \x01(\x0b\x32\x12.coreApi.RunKwargs\x12\x36\n\x12multitask_strategy\x18\t \x01(\x0e\x32\x1a.coreApi.MultitaskStrategy\"\x8a\x01\n\nQueueStats\x12\x11\n\tn_pending\x18\x01 \x01(\x04\x12\x11\n\tn_running\x18\x02 \x01(\x04\x12\x19\n\x0cmax_age_secs\x18\x03 \x01(\x01H\x00\x88\x01\x01\x12\x19\n\x0cmed_age_secs\x18\x04 \x01(\x01H\x01\x88\x01\x01\x42\x0f\n\r_max_age_secsB\x0f\n\r_med_age_secs\"-\n\x0eNextRunRequest\x12\x0c\n\x04wait\x18\x01 \x01(\x08\x12\r\n\x05limit\x18\x02 \x01(\x04\"<\n\x0eRunWithAttempt\x12\x19\n\x03run\x18\x01 \x01(\x0b\x32\x0c.coreApi.Run\x12\x0f\n\x07\x61ttempt\x18\x02 \x01(\x04\"8\n\x0fNextRunResponse\x12%\n\x04runs\x18\x01 \x03(\x0b\x32\x17.coreApi.RunWithAttempt\"\xe9\x05\n\x10\x43reateRunRequest\x12#\n\x0c\x61ssistant_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\'\n\x06kwargs\x18\x02 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.CreateRunRequest.FiltersEntry\x12%\n\tthread_id\x18\x04 \x01(\x0b\x32\r.coreApi.UUIDH\x00\x88\x01\x01\x12\x14\n\x07user_id\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\"\n\x06run_id\x18\x06 \x01(\x0b\x32\r.coreApi.UUIDH\x02\x88\x01\x01\x12\'\n\x06status\x18\x07 \x01(\x0e\x32\x12.coreApi.RunStatusH\x03\x88\x01\x01\x12.\n\x08metadata\x18\x08 \x01(\x0b\x32\x17.google.protobuf.StructH\x04\x88\x01\x01\x12\'\n\x1aprevent_insert_if_inflight\x18\t \x01(\x08H\x05\x88\x01\x01\x12;\n\x12multitask_strategy\x18\n \x01(\x0e\x32\x1a.coreApi.MultitaskStrategyH\x06\x88\x01\x01\x12\x36\n\rif_not_exists\x18\x0b \x01(\x0e\x32\x1a.coreApi.CreateRunBehaviorH\x07\x88\x01\x01\x12\x1a\n\rafter_seconds\x18\x0c \x01(\x04H\x08\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x0c\n\n_thread_idB\n\n\x08_user_idB\t\n\x07_run_idB\t\n\x07_statusB\x0b\n\t_metadataB\x1d\n\x1b_prevent_insert_if_inflightB\x15\n\x13_multitask_strategyB\x10\n\x0e_if_not_existsB\x10\n\x0e_after_seconds\"\xcb\x01\n\rGetRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x34\n\x07\x66ilters\x18\x03 \x03(\x0b\x32#.coreApi.GetRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"\xd1\x01\n\x10\x44\x65leteRunRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12 \n\tthread_id\x18\x02 \x01(\x0b\x32\r.coreApi.UUID\x12\x37\n\x07\x66ilters\x18\x03 \x03(\x0b\x32&.coreApi.DeleteRunRequest.FiltersEntry\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\"V\n\x12\x43\x61ncelRunIdsTarget\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x1e\n\x07run_ids\x18\x02 \x03(\x0b\x32\r.coreApi.UUID\">\n\x12\x43\x61ncelStatusTarget\x12(\n\x06status\x18\x01 \x01(\x0e\x32\x18.coreApi.CancelRunStatus\"\xb3\x02\n\x10\x43\x61ncelRunRequest\x12\x37\n\x07\x66ilters\x18\x01 \x03(\x0b\x32&.coreApi.CancelRunRequest.FiltersEntry\x12.\n\x07run_ids\x18\x02 \x01(\x0b\x32\x1b.coreApi.CancelRunIdsTargetH\x00\x12-\n\x06status\x18\x03 \x01(\x0b\x32\x1b.coreApi.CancelStatusTargetH\x00\x12-\n\x06\x61\x63tion\x18\x04 \x01(\x0e\x32\x18.coreApi.CancelRunActionH\x01\x88\x01\x01\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06targetB\t\n\x07_action\"\xb6\x02\n\x11SearchRunsRequest\x12 \n\tthread_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\x38\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\'.coreApi.SearchRunsRequest.FiltersEntry\x12\x12\n\x05limit\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06offset\x18\x04 \x01(\x04H\x01\x88\x01\x01\x12\'\n\x06status\x18\x05 \x01(\x0e\x32\x12.coreApi.RunStatusH\x02\x88\x01\x01\x12\x0e\n\x06select\x18\x06 \x03(\t\x1a\x43\n\x0c\x46iltersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\"\n\x05value\x18\x02 \x01(\x0b\x32\x13.coreApi.AuthFilter:\x02\x38\x01\x42\x08\n\x06_limitB\t\n\x07_offsetB\t\n\x07_status\"0\n\x12SearchRunsResponse\x12\x1a\n\x04runs\x18\x01 \x03(\x0b\x32\x0c.coreApi.Run\"X\n\x13SetRunStatusRequest\x12\x1d\n\x06run_id\x18\x01 \x01(\x0b\x32\r.coreApi.UUID\x12\"\n\x06status\x18\x02 \x01(\x0e\x32\x12.coreApi.RunStatus\"3\n\x11SweepRunsResponse\x12\x1e\n\x07run_ids\x18\x01 \x03(\x0b\x32\r.coreApi.UUID*/\n\x12OnConflictBehavior\x12\t\n\x05RAISE\x10\x00\x12\x0e\n\nDO_NOTHING\x10\x01*\x1e\n\tSortOrder\x12\x08\n\x04\x44\x45SC\x10\x00\x12\x07\n\x03\x41SC\x10\x01*m\n\x10\x41ssistantsSortBy\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x10\n\x0c\x41SSISTANT_ID\x10\x01\x12\x0c\n\x08GRAPH_ID\x10\x02\x12\x08\n\x04NAME\x10\x03\x12\x0e\n\nCREATED_AT\x10\x04\x12\x0e\n\nUPDATED_AT\x10\x05*v\n\x0cThreadStatus\x12\x16\n\x12THREAD_STATUS_IDLE\x10\x00\x12\x16\n\x12THREAD_STATUS_BUSY\x10\x01\x12\x1d\n\x19THREAD_STATUS_INTERRUPTED\x10\x02\x12\x17\n\x13THREAD_STATUS_ERROR\x10\x03*3\n\x11ThreadTTLStrategy\x12\x1e\n\x1aTHREAD_TTL_STRATEGY_DELETE\x10\x00*\xa8\x01\n\x10\x43heckpointSource\x12!\n\x1d\x43HECKPOINT_SOURCE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x43HECKPOINT_SOURCE_INPUT\x10\x01\x12\x1a\n\x16\x43HECKPOINT_SOURCE_LOOP\x10\x02\x12\x1c\n\x18\x43HECKPOINT_SOURCE_UPDATE\x10\x03\x12\x1a\n\x16\x43HECKPOINT_SOURCE_FORK\x10\x04*\xab\x01\n\rThreadsSortBy\x12\x1f\n\x1bTHREADS_SORT_BY_UNSPECIFIED\x10\x00\x12\x1d\n\x19THREADS_SORT_BY_THREAD_ID\x10\x01\x12\x1e\n\x1aTHREADS_SORT_BY_CREATED_AT\x10\x02\x12\x1e\n\x1aTHREADS_SORT_BY_UPDATED_AT\x10\x03\x12\x1a\n\x16THREADS_SORT_BY_STATUS\x10\x04*\x9d\x01\n\tRunStatus\x12\x16\n\x12RUN_STATUS_PENDING\x10\x00\x12\x16\n\x12RUN_STATUS_RUNNING\x10\x01\x12\x14\n\x10RUN_STATUS_ERROR\x10\x02\x12\x16\n\x12RUN_STATUS_SUCCESS\x10\x03\x12\x16\n\x12RUN_STATUS_TIMEOUT\x10\x04\x12\x1a\n\x16RUN_STATUS_INTERRUPTED\x10\x05*\xb9\x01\n\x11MultitaskStrategy\x12\"\n\x1eMULTITASK_STRATEGY_UNSPECIFIED\x10\x00\x12\x1d\n\x19MULTITASK_STRATEGY_REJECT\x10\x01\x12\x1f\n\x1bMULTITASK_STRATEGY_ROLLBACK\x10\x02\x12 \n\x1cMULTITASK_STRATEGY_INTERRUPT\x10\x03\x12\x1e\n\x1aMULTITASK_STRATEGY_ENQUEUE\x10\x04*\xef\x01\n\nStreamMode\x12\x1b\n\x17STREAM_MODE_UNSPECIFIED\x10\x00\x12\x16\n\x12STREAM_MODE_VALUES\x10\x01\x12\x18\n\x14STREAM_MODE_MESSAGES\x10\x02\x12\x17\n\x13STREAM_MODE_UPDATES\x10\x03\x12\x16\n\x12STREAM_MODE_EVENTS\x10\x04\x12\x15\n\x11STREAM_MODE_DEBUG\x10\x05\x12\x15\n\x11STREAM_MODE_TASKS\x10\x06\x12\x1b\n\x17STREAM_MODE_CHECKPOINTS\x10\x07\x12\x16\n\x12STREAM_MODE_CUSTOM\x10\x08*`\n\x11\x43reateRunBehavior\x12#\n\x1fREJECT_RUN_IF_THREAD_NOT_EXISTS\x10\x00\x12&\n\"CREATE_THREAD_IF_THREAD_NOT_EXISTS\x10\x01*R\n\x0f\x43\x61ncelRunAction\x12\x1f\n\x1b\x43\x41NCEL_RUN_ACTION_INTERRUPT\x10\x00\x12\x1e\n\x1a\x43\x41NCEL_RUN_ACTION_ROLLBACK\x10\x01*j\n\x0f\x43\x61ncelRunStatus\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_PENDING\x10\x00\x12\x1d\n\x19\x43\x41NCEL_RUN_STATUS_RUNNING\x10\x01\x12\x19\n\x15\x43\x41NCEL_RUN_STATUS_ALL\x10\x02\x32\xc1\x04\n\nAssistants\x12\x37\n\x03Get\x12\x1c.coreApi.GetAssistantRequest\x1a\x12.coreApi.Assistant\x12=\n\x06\x43reate\x12\x1f.coreApi.CreateAssistantRequest\x1a\x12.coreApi.Assistant\x12;\n\x05Patch\x12\x1e.coreApi.PatchAssistantRequest\x1a\x12.coreApi.Assistant\x12L\n\x06\x44\x65lete\x12\x1f.coreApi.DeleteAssistantRequest\x1a!.coreApi.DeleteAssistantsResponse\x12M\n\x06Search\x12 .coreApi.SearchAssistantsRequest\x1a!.coreApi.SearchAssistantsResponse\x12\x43\n\tSetLatest\x12\".coreApi.SetLatestAssistantRequest\x1a\x12.coreApi.Assistant\x12Z\n\x0bGetVersions\x12$.coreApi.GetAssistantVersionsRequest\x1a%.coreApi.GetAssistantVersionsResponse\x12@\n\x05\x43ount\x12\x1f.coreApi.CountAssistantsRequest\x1a\x16.coreApi.CountResponse2E\n\x05\x41\x64min\x12<\n\x08Truncate\x12\x18.coreApi.TruncateRequest\x1a\x16.google.protobuf.Empty2\xcd\x05\n\x07Threads\x12\x37\n\x06\x43reate\x12\x1c.coreApi.CreateThreadRequest\x1a\x0f.coreApi.Thread\x12\x31\n\x03Get\x12\x19.coreApi.GetThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x05Patch\x12\x1b.coreApi.PatchThreadRequest\x1a\x0f.coreApi.Thread\x12\x35\n\x06\x44\x65lete\x12\x1c.coreApi.DeleteThreadRequest\x1a\r.coreApi.UUID\x12G\n\x06Search\x12\x1d.coreApi.SearchThreadsRequest\x1a\x1e.coreApi.SearchThreadsResponse\x12=\n\x05\x43ount\x12\x1c.coreApi.CountThreadsRequest\x1a\x16.coreApi.CountResponse\x12\x33\n\x04\x43opy\x12\x1a.coreApi.CopyThreadRequest\x1a\x0f.coreApi.Thread\x12\x44\n\tSetStatus\x12\x1f.coreApi.SetThreadStatusRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetJointStatus\x12$.coreApi.SetThreadJointStatusRequest\x1a\x16.google.protobuf.Empty\x12\x46\n\rJointRollback\x12\x1d.coreApi.JointRollbackRequest\x1a\x16.google.protobuf.Empty\x12M\n\x08SweepTTL\x12\x1f.coreApi.SweepThreadsTTLRequest\x1a .coreApi.SweepThreadsTTLResponse2\x8b\x04\n\x04Runs\x12\x31\n\x06\x43reate\x12\x19.coreApi.CreateRunRequest\x1a\x0c.coreApi.Run\x12+\n\x03Get\x12\x16.coreApi.GetRunRequest\x1a\x0c.coreApi.Run\x12\x32\n\x06\x44\x65lete\x12\x19.coreApi.DeleteRunRequest\x1a\r.coreApi.UUID\x12\x41\n\x06Search\x12\x1a.coreApi.SearchRunsRequest\x1a\x1b.coreApi.SearchRunsResponse\x12;\n\x06\x43\x61ncel\x12\x19.coreApi.CancelRunRequest\x1a\x16.google.protobuf.Empty\x12\x41\n\tSetStatus\x12\x1c.coreApi.SetRunStatusRequest\x1a\x16.google.protobuf.Empty\x12\x34\n\x05Stats\x12\x16.google.protobuf.Empty\x1a\x13.coreApi.QueueStats\x12\x39\n\x04Next\x12\x17.coreApi.NextRunRequest\x1a\x18.coreApi.NextRunResponse\x12;\n\x05Sweep\x12\x16.google.protobuf.Empty\x1a\x1a.coreApi.SweepRunsResponseB<Z:github.com/langchain-ai/langgraph-api/core-api/internal/pbb\x06proto3')
|
|
31
31
|
|
|
32
32
|
_globals = globals()
|
|
33
33
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
@@ -79,196 +79,196 @@ if not _descriptor._USE_C_DESCRIPTORS:
|
|
|
79
79
|
_globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
|
|
80
80
|
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._loaded_options = None
|
|
81
81
|
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_options = b'8\001'
|
|
82
|
-
_globals['_ONCONFLICTBEHAVIOR']._serialized_start=
|
|
83
|
-
_globals['_ONCONFLICTBEHAVIOR']._serialized_end=
|
|
84
|
-
_globals['_SORTORDER']._serialized_start=
|
|
85
|
-
_globals['_SORTORDER']._serialized_end=
|
|
86
|
-
_globals['_ASSISTANTSSORTBY']._serialized_start=
|
|
87
|
-
_globals['_ASSISTANTSSORTBY']._serialized_end=
|
|
88
|
-
_globals['_THREADSTATUS']._serialized_start=
|
|
89
|
-
_globals['_THREADSTATUS']._serialized_end=
|
|
90
|
-
_globals['_THREADTTLSTRATEGY']._serialized_start=
|
|
91
|
-
_globals['_THREADTTLSTRATEGY']._serialized_end=
|
|
92
|
-
_globals['_CHECKPOINTSOURCE']._serialized_start=
|
|
93
|
-
_globals['_CHECKPOINTSOURCE']._serialized_end=
|
|
94
|
-
_globals['_THREADSSORTBY']._serialized_start=
|
|
95
|
-
_globals['_THREADSSORTBY']._serialized_end=
|
|
96
|
-
_globals['_RUNSTATUS']._serialized_start=
|
|
97
|
-
_globals['_RUNSTATUS']._serialized_end=
|
|
98
|
-
_globals['_MULTITASKSTRATEGY']._serialized_start=
|
|
99
|
-
_globals['_MULTITASKSTRATEGY']._serialized_end=
|
|
100
|
-
_globals['_STREAMMODE']._serialized_start=
|
|
101
|
-
_globals['_STREAMMODE']._serialized_end=
|
|
102
|
-
_globals['_CREATERUNBEHAVIOR']._serialized_start=
|
|
103
|
-
_globals['_CREATERUNBEHAVIOR']._serialized_end=
|
|
104
|
-
_globals['_CANCELRUNACTION']._serialized_start=
|
|
105
|
-
_globals['_CANCELRUNACTION']._serialized_end=
|
|
106
|
-
_globals['_CANCELRUNSTATUS']._serialized_start=
|
|
107
|
-
_globals['_CANCELRUNSTATUS']._serialized_end=
|
|
108
|
-
_globals['
|
|
109
|
-
_globals['
|
|
110
|
-
_globals['_EQAUTHFILTER']._serialized_start=
|
|
111
|
-
_globals['_EQAUTHFILTER']._serialized_end=
|
|
112
|
-
_globals['_CONTAINSAUTHFILTER']._serialized_start=
|
|
113
|
-
_globals['_CONTAINSAUTHFILTER']._serialized_end=
|
|
114
|
-
_globals['_AUTHFILTER']._serialized_start=
|
|
115
|
-
_globals['_AUTHFILTER']._serialized_end=
|
|
116
|
-
_globals['_UUID']._serialized_start=
|
|
117
|
-
_globals['_UUID']._serialized_end=
|
|
118
|
-
_globals['_COUNTRESPONSE']._serialized_start=
|
|
119
|
-
_globals['_COUNTRESPONSE']._serialized_end=
|
|
120
|
-
_globals['_ASSISTANT']._serialized_start=
|
|
121
|
-
_globals['_ASSISTANT']._serialized_end=
|
|
122
|
-
_globals['_ASSISTANTVERSION']._serialized_start=
|
|
123
|
-
_globals['_ASSISTANTVERSION']._serialized_end=
|
|
124
|
-
_globals['_CREATEASSISTANTREQUEST']._serialized_start=
|
|
125
|
-
_globals['_CREATEASSISTANTREQUEST']._serialized_end=
|
|
126
|
-
_globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=
|
|
127
|
-
_globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=
|
|
128
|
-
_globals['_GETASSISTANTREQUEST']._serialized_start=
|
|
129
|
-
_globals['_GETASSISTANTREQUEST']._serialized_end=
|
|
130
|
-
_globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_start=
|
|
131
|
-
_globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_end=
|
|
132
|
-
_globals['_PATCHASSISTANTREQUEST']._serialized_start=
|
|
133
|
-
_globals['_PATCHASSISTANTREQUEST']._serialized_end=
|
|
134
|
-
_globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_start=
|
|
135
|
-
_globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_end=
|
|
136
|
-
_globals['_DELETEASSISTANTREQUEST']._serialized_start=
|
|
137
|
-
_globals['_DELETEASSISTANTREQUEST']._serialized_end=
|
|
138
|
-
_globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=
|
|
139
|
-
_globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=
|
|
140
|
-
_globals['_DELETEASSISTANTSRESPONSE']._serialized_start=
|
|
141
|
-
_globals['_DELETEASSISTANTSRESPONSE']._serialized_end=
|
|
142
|
-
_globals['_SETLATESTASSISTANTREQUEST']._serialized_start=
|
|
143
|
-
_globals['_SETLATESTASSISTANTREQUEST']._serialized_end=
|
|
144
|
-
_globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_start=
|
|
145
|
-
_globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_end=
|
|
146
|
-
_globals['_SEARCHASSISTANTSREQUEST']._serialized_start=
|
|
147
|
-
_globals['_SEARCHASSISTANTSREQUEST']._serialized_end=
|
|
148
|
-
_globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=
|
|
149
|
-
_globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=
|
|
150
|
-
_globals['_SEARCHASSISTANTSRESPONSE']._serialized_start=
|
|
151
|
-
_globals['_SEARCHASSISTANTSRESPONSE']._serialized_end=
|
|
152
|
-
_globals['_GETASSISTANTVERSIONSREQUEST']._serialized_start=
|
|
153
|
-
_globals['_GETASSISTANTVERSIONSREQUEST']._serialized_end=
|
|
154
|
-
_globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_start=
|
|
155
|
-
_globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_end=
|
|
156
|
-
_globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_start=
|
|
157
|
-
_globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_end=
|
|
158
|
-
_globals['_COUNTASSISTANTSREQUEST']._serialized_start=
|
|
159
|
-
_globals['_COUNTASSISTANTSREQUEST']._serialized_end=
|
|
160
|
-
_globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=
|
|
161
|
-
_globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=
|
|
162
|
-
_globals['_TRUNCATEREQUEST']._serialized_start=
|
|
163
|
-
_globals['_TRUNCATEREQUEST']._serialized_end=
|
|
164
|
-
_globals['_THREADTTLCONFIG']._serialized_start=
|
|
165
|
-
_globals['_THREADTTLCONFIG']._serialized_end=
|
|
166
|
-
_globals['_FRAGMENT']._serialized_start=
|
|
167
|
-
_globals['_FRAGMENT']._serialized_end=
|
|
168
|
-
_globals['_CHECKPOINTTASK']._serialized_start=
|
|
169
|
-
_globals['_CHECKPOINTTASK']._serialized_end=
|
|
170
|
-
_globals['_CHECKPOINTMETADATA']._serialized_start=
|
|
171
|
-
_globals['_CHECKPOINTMETADATA']._serialized_end=
|
|
172
|
-
_globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_start=
|
|
173
|
-
_globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_end=
|
|
174
|
-
_globals['_CHECKPOINTPAYLOAD']._serialized_start=
|
|
175
|
-
_globals['_CHECKPOINTPAYLOAD']._serialized_end=
|
|
176
|
-
_globals['_INTERRUPT']._serialized_start=
|
|
177
|
-
_globals['_INTERRUPT']._serialized_end=
|
|
178
|
-
_globals['_INTERRUPTS']._serialized_start=
|
|
179
|
-
_globals['_INTERRUPTS']._serialized_end=
|
|
180
|
-
_globals['_THREAD']._serialized_start=
|
|
181
|
-
_globals['_THREAD']._serialized_end=
|
|
182
|
-
_globals['_THREAD_INTERRUPTSENTRY']._serialized_start=
|
|
183
|
-
_globals['_THREAD_INTERRUPTSENTRY']._serialized_end=
|
|
184
|
-
_globals['_CREATETHREADREQUEST']._serialized_start=
|
|
185
|
-
_globals['_CREATETHREADREQUEST']._serialized_end=
|
|
186
|
-
_globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_start=
|
|
187
|
-
_globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_end=
|
|
188
|
-
_globals['_GETTHREADREQUEST']._serialized_start=
|
|
189
|
-
_globals['_GETTHREADREQUEST']._serialized_end=
|
|
190
|
-
_globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_start=
|
|
191
|
-
_globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_end=
|
|
192
|
-
_globals['_PATCHTHREADREQUEST']._serialized_start=
|
|
193
|
-
_globals['_PATCHTHREADREQUEST']._serialized_end=
|
|
194
|
-
_globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_start=
|
|
195
|
-
_globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_end=
|
|
196
|
-
_globals['_DELETETHREADREQUEST']._serialized_start=
|
|
197
|
-
_globals['_DELETETHREADREQUEST']._serialized_end=
|
|
198
|
-
_globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_start=
|
|
199
|
-
_globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_end=
|
|
200
|
-
_globals['_COPYTHREADREQUEST']._serialized_start=
|
|
201
|
-
_globals['_COPYTHREADREQUEST']._serialized_end=
|
|
202
|
-
_globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_start=
|
|
203
|
-
_globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_end=
|
|
204
|
-
_globals['_SEARCHTHREADSREQUEST']._serialized_start=
|
|
205
|
-
_globals['_SEARCHTHREADSREQUEST']._serialized_end=
|
|
206
|
-
_globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_start=
|
|
207
|
-
_globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_end=
|
|
208
|
-
_globals['_SEARCHTHREADSRESPONSE']._serialized_start=
|
|
209
|
-
_globals['_SEARCHTHREADSRESPONSE']._serialized_end=
|
|
210
|
-
_globals['_COUNTTHREADSREQUEST']._serialized_start=
|
|
211
|
-
_globals['_COUNTTHREADSREQUEST']._serialized_end=
|
|
212
|
-
_globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_start=
|
|
213
|
-
_globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_end=
|
|
214
|
-
_globals['_SWEEPTHREADSTTLRESPONSE']._serialized_start=
|
|
215
|
-
_globals['_SWEEPTHREADSTTLRESPONSE']._serialized_end=
|
|
216
|
-
_globals['_SWEEPTHREADSTTLREQUEST']._serialized_start=
|
|
217
|
-
_globals['_SWEEPTHREADSTTLREQUEST']._serialized_end=
|
|
218
|
-
_globals['_SETTHREADSTATUSREQUEST']._serialized_start=
|
|
219
|
-
_globals['_SETTHREADSTATUSREQUEST']._serialized_end=
|
|
220
|
-
_globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_start=
|
|
221
|
-
_globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_end=
|
|
222
|
-
_globals['_JOINTROLLBACKREQUEST']._serialized_start=
|
|
223
|
-
_globals['_JOINTROLLBACKREQUEST']._serialized_end=
|
|
224
|
-
_globals['_RUNKWARGS']._serialized_start=
|
|
225
|
-
_globals['_RUNKWARGS']._serialized_end=
|
|
226
|
-
_globals['_RUN']._serialized_start=
|
|
227
|
-
_globals['_RUN']._serialized_end=
|
|
228
|
-
_globals['_QUEUESTATS']._serialized_start=
|
|
229
|
-
_globals['_QUEUESTATS']._serialized_end=
|
|
230
|
-
_globals['_NEXTRUNREQUEST']._serialized_start=
|
|
231
|
-
_globals['_NEXTRUNREQUEST']._serialized_end=
|
|
232
|
-
_globals['_RUNWITHATTEMPT']._serialized_start=
|
|
233
|
-
_globals['_RUNWITHATTEMPT']._serialized_end=
|
|
234
|
-
_globals['_NEXTRUNRESPONSE']._serialized_start=
|
|
235
|
-
_globals['_NEXTRUNRESPONSE']._serialized_end=
|
|
236
|
-
_globals['_CREATERUNREQUEST']._serialized_start=
|
|
237
|
-
_globals['_CREATERUNREQUEST']._serialized_end=
|
|
238
|
-
_globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_start=
|
|
239
|
-
_globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_end=
|
|
240
|
-
_globals['_GETRUNREQUEST']._serialized_start=
|
|
241
|
-
_globals['_GETRUNREQUEST']._serialized_end=
|
|
242
|
-
_globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_start=
|
|
243
|
-
_globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_end=
|
|
244
|
-
_globals['_DELETERUNREQUEST']._serialized_start=
|
|
245
|
-
_globals['_DELETERUNREQUEST']._serialized_end=
|
|
246
|
-
_globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_start=
|
|
247
|
-
_globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_end=
|
|
248
|
-
_globals['_CANCELRUNIDSTARGET']._serialized_start=
|
|
249
|
-
_globals['_CANCELRUNIDSTARGET']._serialized_end=
|
|
250
|
-
_globals['_CANCELSTATUSTARGET']._serialized_start=
|
|
251
|
-
_globals['_CANCELSTATUSTARGET']._serialized_end=
|
|
252
|
-
_globals['_CANCELRUNREQUEST']._serialized_start=
|
|
253
|
-
_globals['_CANCELRUNREQUEST']._serialized_end=
|
|
254
|
-
_globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_start=
|
|
255
|
-
_globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_end=
|
|
256
|
-
_globals['_SEARCHRUNSREQUEST']._serialized_start=
|
|
257
|
-
_globals['_SEARCHRUNSREQUEST']._serialized_end=
|
|
258
|
-
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_start=
|
|
259
|
-
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_end=
|
|
260
|
-
_globals['_SEARCHRUNSRESPONSE']._serialized_start=
|
|
261
|
-
_globals['_SEARCHRUNSRESPONSE']._serialized_end=
|
|
262
|
-
_globals['_SETRUNSTATUSREQUEST']._serialized_start=
|
|
263
|
-
_globals['_SETRUNSTATUSREQUEST']._serialized_end=
|
|
264
|
-
_globals['_SWEEPRUNSRESPONSE']._serialized_start=
|
|
265
|
-
_globals['_SWEEPRUNSRESPONSE']._serialized_end=
|
|
266
|
-
_globals['_ASSISTANTS']._serialized_start=
|
|
267
|
-
_globals['_ASSISTANTS']._serialized_end=
|
|
268
|
-
_globals['_ADMIN']._serialized_start=
|
|
269
|
-
_globals['_ADMIN']._serialized_end=
|
|
270
|
-
_globals['_THREADS']._serialized_start=
|
|
271
|
-
_globals['_THREADS']._serialized_end=
|
|
272
|
-
_globals['_RUNS']._serialized_start=
|
|
273
|
-
_globals['_RUNS']._serialized_end=
|
|
82
|
+
_globals['_ONCONFLICTBEHAVIOR']._serialized_start=12047
|
|
83
|
+
_globals['_ONCONFLICTBEHAVIOR']._serialized_end=12094
|
|
84
|
+
_globals['_SORTORDER']._serialized_start=12096
|
|
85
|
+
_globals['_SORTORDER']._serialized_end=12126
|
|
86
|
+
_globals['_ASSISTANTSSORTBY']._serialized_start=12128
|
|
87
|
+
_globals['_ASSISTANTSSORTBY']._serialized_end=12237
|
|
88
|
+
_globals['_THREADSTATUS']._serialized_start=12239
|
|
89
|
+
_globals['_THREADSTATUS']._serialized_end=12357
|
|
90
|
+
_globals['_THREADTTLSTRATEGY']._serialized_start=12359
|
|
91
|
+
_globals['_THREADTTLSTRATEGY']._serialized_end=12410
|
|
92
|
+
_globals['_CHECKPOINTSOURCE']._serialized_start=12413
|
|
93
|
+
_globals['_CHECKPOINTSOURCE']._serialized_end=12581
|
|
94
|
+
_globals['_THREADSSORTBY']._serialized_start=12584
|
|
95
|
+
_globals['_THREADSSORTBY']._serialized_end=12755
|
|
96
|
+
_globals['_RUNSTATUS']._serialized_start=12758
|
|
97
|
+
_globals['_RUNSTATUS']._serialized_end=12915
|
|
98
|
+
_globals['_MULTITASKSTRATEGY']._serialized_start=12918
|
|
99
|
+
_globals['_MULTITASKSTRATEGY']._serialized_end=13103
|
|
100
|
+
_globals['_STREAMMODE']._serialized_start=13106
|
|
101
|
+
_globals['_STREAMMODE']._serialized_end=13345
|
|
102
|
+
_globals['_CREATERUNBEHAVIOR']._serialized_start=13347
|
|
103
|
+
_globals['_CREATERUNBEHAVIOR']._serialized_end=13443
|
|
104
|
+
_globals['_CANCELRUNACTION']._serialized_start=13445
|
|
105
|
+
_globals['_CANCELRUNACTION']._serialized_end=13527
|
|
106
|
+
_globals['_CANCELRUNSTATUS']._serialized_start=13529
|
|
107
|
+
_globals['_CANCELRUNSTATUS']._serialized_end=13635
|
|
108
|
+
_globals['_CONFIG']._serialized_start=120
|
|
109
|
+
_globals['_CONFIG']._serialized_end=291
|
|
110
|
+
_globals['_EQAUTHFILTER']._serialized_start=293
|
|
111
|
+
_globals['_EQAUTHFILTER']._serialized_end=322
|
|
112
|
+
_globals['_CONTAINSAUTHFILTER']._serialized_start=324
|
|
113
|
+
_globals['_CONTAINSAUTHFILTER']._serialized_end=385
|
|
114
|
+
_globals['_AUTHFILTER']._serialized_start=387
|
|
115
|
+
_globals['_AUTHFILTER']._serialized_end=495
|
|
116
|
+
_globals['_UUID']._serialized_start=497
|
|
117
|
+
_globals['_UUID']._serialized_end=518
|
|
118
|
+
_globals['_COUNTRESPONSE']._serialized_start=520
|
|
119
|
+
_globals['_COUNTRESPONSE']._serialized_end=550
|
|
120
|
+
_globals['_ASSISTANT']._serialized_start=553
|
|
121
|
+
_globals['_ASSISTANT']._serialized_end=956
|
|
122
|
+
_globals['_ASSISTANTVERSION']._serialized_start=959
|
|
123
|
+
_globals['_ASSISTANTVERSION']._serialized_end=1321
|
|
124
|
+
_globals['_CREATEASSISTANTREQUEST']._serialized_start=1324
|
|
125
|
+
_globals['_CREATEASSISTANTREQUEST']._serialized_end=1774
|
|
126
|
+
_globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
127
|
+
_globals['_CREATEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
128
|
+
_globals['_GETASSISTANTREQUEST']._serialized_start=1777
|
|
129
|
+
_globals['_GETASSISTANTREQUEST']._serialized_end=1949
|
|
130
|
+
_globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
131
|
+
_globals['_GETASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
132
|
+
_globals['_PATCHASSISTANTREQUEST']._serialized_start=1952
|
|
133
|
+
_globals['_PATCHASSISTANTREQUEST']._serialized_end=2403
|
|
134
|
+
_globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
135
|
+
_globals['_PATCHASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
136
|
+
_globals['_DELETEASSISTANTREQUEST']._serialized_start=2406
|
|
137
|
+
_globals['_DELETEASSISTANTREQUEST']._serialized_end=2584
|
|
138
|
+
_globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
139
|
+
_globals['_DELETEASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
140
|
+
_globals['_DELETEASSISTANTSRESPONSE']._serialized_start=2586
|
|
141
|
+
_globals['_DELETEASSISTANTSRESPONSE']._serialized_end=2635
|
|
142
|
+
_globals['_SETLATESTASSISTANTREQUEST']._serialized_start=2638
|
|
143
|
+
_globals['_SETLATESTASSISTANTREQUEST']._serialized_end=2839
|
|
144
|
+
_globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
145
|
+
_globals['_SETLATESTASSISTANTREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
146
|
+
_globals['_SEARCHASSISTANTSREQUEST']._serialized_start=2842
|
|
147
|
+
_globals['_SEARCHASSISTANTSREQUEST']._serialized_end=3296
|
|
148
|
+
_globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
149
|
+
_globals['_SEARCHASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
150
|
+
_globals['_SEARCHASSISTANTSRESPONSE']._serialized_start=3298
|
|
151
|
+
_globals['_SEARCHASSISTANTSRESPONSE']._serialized_end=3364
|
|
152
|
+
_globals['_GETASSISTANTVERSIONSREQUEST']._serialized_start=3367
|
|
153
|
+
_globals['_GETASSISTANTVERSIONSREQUEST']._serialized_end=3678
|
|
154
|
+
_globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
155
|
+
_globals['_GETASSISTANTVERSIONSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
156
|
+
_globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_start=3680
|
|
157
|
+
_globals['_GETASSISTANTVERSIONSRESPONSE']._serialized_end=3755
|
|
158
|
+
_globals['_COUNTASSISTANTSREQUEST']._serialized_start=3758
|
|
159
|
+
_globals['_COUNTASSISTANTSREQUEST']._serialized_end=4011
|
|
160
|
+
_globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
161
|
+
_globals['_COUNTASSISTANTSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
162
|
+
_globals['_TRUNCATEREQUEST']._serialized_start=4013
|
|
163
|
+
_globals['_TRUNCATEREQUEST']._serialized_end=4118
|
|
164
|
+
_globals['_THREADTTLCONFIG']._serialized_start=4121
|
|
165
|
+
_globals['_THREADTTLCONFIG']._serialized_end=4308
|
|
166
|
+
_globals['_FRAGMENT']._serialized_start=4310
|
|
167
|
+
_globals['_FRAGMENT']._serialized_end=4335
|
|
168
|
+
_globals['_CHECKPOINTTASK']._serialized_start=4338
|
|
169
|
+
_globals['_CHECKPOINTTASK']._serialized_end=4510
|
|
170
|
+
_globals['_CHECKPOINTMETADATA']._serialized_start=4513
|
|
171
|
+
_globals['_CHECKPOINTMETADATA']._serialized_end=4727
|
|
172
|
+
_globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_start=4661
|
|
173
|
+
_globals['_CHECKPOINTMETADATA_PARENTSENTRY']._serialized_end=4707
|
|
174
|
+
_globals['_CHECKPOINTPAYLOAD']._serialized_start=4730
|
|
175
|
+
_globals['_CHECKPOINTPAYLOAD']._serialized_end=5003
|
|
176
|
+
_globals['_INTERRUPT']._serialized_start=5006
|
|
177
|
+
_globals['_INTERRUPT']._serialized_end=5159
|
|
178
|
+
_globals['_INTERRUPTS']._serialized_start=5161
|
|
179
|
+
_globals['_INTERRUPTS']._serialized_end=5213
|
|
180
|
+
_globals['_THREAD']._serialized_start=5216
|
|
181
|
+
_globals['_THREAD']._serialized_end=5661
|
|
182
|
+
_globals['_THREAD_INTERRUPTSENTRY']._serialized_start=5591
|
|
183
|
+
_globals['_THREAD_INTERRUPTSENTRY']._serialized_end=5661
|
|
184
|
+
_globals['_CREATETHREADREQUEST']._serialized_start=5664
|
|
185
|
+
_globals['_CREATETHREADREQUEST']._serialized_end=6009
|
|
186
|
+
_globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
187
|
+
_globals['_CREATETHREADREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
188
|
+
_globals['_GETTHREADREQUEST']._serialized_start=6012
|
|
189
|
+
_globals['_GETTHREADREQUEST']._serialized_end=6190
|
|
190
|
+
_globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
191
|
+
_globals['_GETTHREADREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
192
|
+
_globals['_PATCHTHREADREQUEST']._serialized_start=6193
|
|
193
|
+
_globals['_PATCHTHREADREQUEST']._serialized_end=6488
|
|
194
|
+
_globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
195
|
+
_globals['_PATCHTHREADREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
196
|
+
_globals['_DELETETHREADREQUEST']._serialized_start=6491
|
|
197
|
+
_globals['_DELETETHREADREQUEST']._serialized_end=6675
|
|
198
|
+
_globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
199
|
+
_globals['_DELETETHREADREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
200
|
+
_globals['_COPYTHREADREQUEST']._serialized_start=6678
|
|
201
|
+
_globals['_COPYTHREADREQUEST']._serialized_end=6858
|
|
202
|
+
_globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
203
|
+
_globals['_COPYTHREADREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
204
|
+
_globals['_SEARCHTHREADSREQUEST']._serialized_start=6861
|
|
205
|
+
_globals['_SEARCHTHREADSREQUEST']._serialized_end=7382
|
|
206
|
+
_globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
207
|
+
_globals['_SEARCHTHREADSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
208
|
+
_globals['_SEARCHTHREADSRESPONSE']._serialized_start=7384
|
|
209
|
+
_globals['_SEARCHTHREADSRESPONSE']._serialized_end=7441
|
|
210
|
+
_globals['_COUNTTHREADSREQUEST']._serialized_start=7444
|
|
211
|
+
_globals['_COUNTTHREADSREQUEST']._serialized_end=7767
|
|
212
|
+
_globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
213
|
+
_globals['_COUNTTHREADSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
214
|
+
_globals['_SWEEPTHREADSTTLRESPONSE']._serialized_start=7769
|
|
215
|
+
_globals['_SWEEPTHREADSTTLRESPONSE']._serialized_end=7828
|
|
216
|
+
_globals['_SWEEPTHREADSTTLREQUEST']._serialized_start=7830
|
|
217
|
+
_globals['_SWEEPTHREADSTTLREQUEST']._serialized_end=7904
|
|
218
|
+
_globals['_SETTHREADSTATUSREQUEST']._serialized_start=7907
|
|
219
|
+
_globals['_SETTHREADSTATUSREQUEST']._serialized_end=8183
|
|
220
|
+
_globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_start=8186
|
|
221
|
+
_globals['_SETTHREADJOINTSTATUSREQUEST']._serialized_end=8424
|
|
222
|
+
_globals['_JOINTROLLBACKREQUEST']._serialized_start=8427
|
|
223
|
+
_globals['_JOINTROLLBACKREQUEST']._serialized_end=8638
|
|
224
|
+
_globals['_RUNKWARGS']._serialized_start=8641
|
|
225
|
+
_globals['_RUNKWARGS']._serialized_end=9232
|
|
226
|
+
_globals['_RUN']._serialized_start=9235
|
|
227
|
+
_globals['_RUN']._serialized_end=9603
|
|
228
|
+
_globals['_QUEUESTATS']._serialized_start=9606
|
|
229
|
+
_globals['_QUEUESTATS']._serialized_end=9744
|
|
230
|
+
_globals['_NEXTRUNREQUEST']._serialized_start=9746
|
|
231
|
+
_globals['_NEXTRUNREQUEST']._serialized_end=9791
|
|
232
|
+
_globals['_RUNWITHATTEMPT']._serialized_start=9793
|
|
233
|
+
_globals['_RUNWITHATTEMPT']._serialized_end=9853
|
|
234
|
+
_globals['_NEXTRUNRESPONSE']._serialized_start=9855
|
|
235
|
+
_globals['_NEXTRUNRESPONSE']._serialized_end=9911
|
|
236
|
+
_globals['_CREATERUNREQUEST']._serialized_start=9914
|
|
237
|
+
_globals['_CREATERUNREQUEST']._serialized_end=10659
|
|
238
|
+
_globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
239
|
+
_globals['_CREATERUNREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
240
|
+
_globals['_GETRUNREQUEST']._serialized_start=10662
|
|
241
|
+
_globals['_GETRUNREQUEST']._serialized_end=10865
|
|
242
|
+
_globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
243
|
+
_globals['_GETRUNREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
244
|
+
_globals['_DELETERUNREQUEST']._serialized_start=10868
|
|
245
|
+
_globals['_DELETERUNREQUEST']._serialized_end=11077
|
|
246
|
+
_globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
247
|
+
_globals['_DELETERUNREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
248
|
+
_globals['_CANCELRUNIDSTARGET']._serialized_start=11079
|
|
249
|
+
_globals['_CANCELRUNIDSTARGET']._serialized_end=11165
|
|
250
|
+
_globals['_CANCELSTATUSTARGET']._serialized_start=11167
|
|
251
|
+
_globals['_CANCELSTATUSTARGET']._serialized_end=11229
|
|
252
|
+
_globals['_CANCELRUNREQUEST']._serialized_start=11232
|
|
253
|
+
_globals['_CANCELRUNREQUEST']._serialized_end=11539
|
|
254
|
+
_globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
255
|
+
_globals['_CANCELRUNREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
256
|
+
_globals['_SEARCHRUNSREQUEST']._serialized_start=11542
|
|
257
|
+
_globals['_SEARCHRUNSREQUEST']._serialized_end=11852
|
|
258
|
+
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_start=1669
|
|
259
|
+
_globals['_SEARCHRUNSREQUEST_FILTERSENTRY']._serialized_end=1736
|
|
260
|
+
_globals['_SEARCHRUNSRESPONSE']._serialized_start=11854
|
|
261
|
+
_globals['_SEARCHRUNSRESPONSE']._serialized_end=11902
|
|
262
|
+
_globals['_SETRUNSTATUSREQUEST']._serialized_start=11904
|
|
263
|
+
_globals['_SETRUNSTATUSREQUEST']._serialized_end=11992
|
|
264
|
+
_globals['_SWEEPRUNSRESPONSE']._serialized_start=11994
|
|
265
|
+
_globals['_SWEEPRUNSRESPONSE']._serialized_end=12045
|
|
266
|
+
_globals['_ASSISTANTS']._serialized_start=13638
|
|
267
|
+
_globals['_ASSISTANTS']._serialized_end=14215
|
|
268
|
+
_globals['_ADMIN']._serialized_start=14217
|
|
269
|
+
_globals['_ADMIN']._serialized_end=14286
|
|
270
|
+
_globals['_THREADS']._serialized_start=14289
|
|
271
|
+
_globals['_THREADS']._serialized_end=15006
|
|
272
|
+
_globals['_RUNS']._serialized_start=15009
|
|
273
|
+
_globals['_RUNS']._serialized_end=15532
|
|
274
274
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -155,15 +155,17 @@ CANCEL_RUN_STATUS_PENDING: CancelRunStatus
|
|
|
155
155
|
CANCEL_RUN_STATUS_RUNNING: CancelRunStatus
|
|
156
156
|
CANCEL_RUN_STATUS_ALL: CancelRunStatus
|
|
157
157
|
|
|
158
|
-
class
|
|
159
|
-
__slots__ = ("tags", "recursion_limit", "configurable")
|
|
158
|
+
class Config(_message.Message):
|
|
159
|
+
__slots__ = ("tags", "recursion_limit", "configurable", "extra")
|
|
160
160
|
TAGS_FIELD_NUMBER: _ClassVar[int]
|
|
161
161
|
RECURSION_LIMIT_FIELD_NUMBER: _ClassVar[int]
|
|
162
162
|
CONFIGURABLE_FIELD_NUMBER: _ClassVar[int]
|
|
163
|
+
EXTRA_FIELD_NUMBER: _ClassVar[int]
|
|
163
164
|
tags: _containers.RepeatedScalarFieldContainer[str]
|
|
164
165
|
recursion_limit: int
|
|
165
166
|
configurable: _struct_pb2.Struct
|
|
166
|
-
|
|
167
|
+
extra: bytes
|
|
168
|
+
def __init__(self, tags: _Optional[_Iterable[str]] = ..., recursion_limit: _Optional[int] = ..., configurable: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., extra: _Optional[bytes] = ...) -> None: ...
|
|
167
169
|
|
|
168
170
|
class EqAuthFilter(_message.Message):
|
|
169
171
|
__slots__ = ("match",)
|
|
@@ -214,12 +216,12 @@ class Assistant(_message.Message):
|
|
|
214
216
|
version: int
|
|
215
217
|
created_at: _timestamp_pb2.Timestamp
|
|
216
218
|
updated_at: _timestamp_pb2.Timestamp
|
|
217
|
-
config:
|
|
219
|
+
config: Config
|
|
218
220
|
context: _struct_pb2.Struct
|
|
219
221
|
metadata: _struct_pb2.Struct
|
|
220
222
|
name: str
|
|
221
223
|
description: str
|
|
222
|
-
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., version: _Optional[int] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., config: _Optional[_Union[
|
|
224
|
+
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., version: _Optional[int] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., updated_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., config: _Optional[_Union[Config, _Mapping]] = ..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
|
|
223
225
|
|
|
224
226
|
class AssistantVersion(_message.Message):
|
|
225
227
|
__slots__ = ("assistant_id", "graph_id", "version", "created_at", "config", "context", "metadata", "name", "description")
|
|
@@ -236,12 +238,12 @@ class AssistantVersion(_message.Message):
|
|
|
236
238
|
graph_id: str
|
|
237
239
|
version: int
|
|
238
240
|
created_at: _timestamp_pb2.Timestamp
|
|
239
|
-
config:
|
|
241
|
+
config: Config
|
|
240
242
|
context: _struct_pb2.Struct
|
|
241
243
|
metadata: _struct_pb2.Struct
|
|
242
244
|
name: str
|
|
243
245
|
description: str
|
|
244
|
-
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., version: _Optional[int] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., config: _Optional[_Union[
|
|
246
|
+
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., version: _Optional[int] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., config: _Optional[_Union[Config, _Mapping]] = ..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ...) -> None: ...
|
|
245
247
|
|
|
246
248
|
class CreateAssistantRequest(_message.Message):
|
|
247
249
|
__slots__ = ("assistant_id", "graph_id", "filters", "if_exists", "config", "context", "name", "description", "metadata")
|
|
@@ -265,12 +267,12 @@ class CreateAssistantRequest(_message.Message):
|
|
|
265
267
|
graph_id: str
|
|
266
268
|
filters: _containers.MessageMap[str, AuthFilter]
|
|
267
269
|
if_exists: OnConflictBehavior
|
|
268
|
-
config:
|
|
270
|
+
config: Config
|
|
269
271
|
context: _struct_pb2.Struct
|
|
270
272
|
name: str
|
|
271
273
|
description: str
|
|
272
274
|
metadata: _struct_pb2.Struct
|
|
273
|
-
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., filters: _Optional[_Mapping[str, AuthFilter]] = ..., if_exists: _Optional[_Union[OnConflictBehavior, str]] = ..., config: _Optional[_Union[
|
|
275
|
+
def __init__(self, assistant_id: _Optional[str] = ..., graph_id: _Optional[str] = ..., filters: _Optional[_Mapping[str, AuthFilter]] = ..., if_exists: _Optional[_Union[OnConflictBehavior, str]] = ..., config: _Optional[_Union[Config, _Mapping]] = ..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
|
|
274
276
|
|
|
275
277
|
class GetAssistantRequest(_message.Message):
|
|
276
278
|
__slots__ = ("assistant_id", "filters")
|
|
@@ -307,12 +309,12 @@ class PatchAssistantRequest(_message.Message):
|
|
|
307
309
|
assistant_id: str
|
|
308
310
|
filters: _containers.MessageMap[str, AuthFilter]
|
|
309
311
|
graph_id: str
|
|
310
|
-
config:
|
|
312
|
+
config: Config
|
|
311
313
|
context: _struct_pb2.Struct
|
|
312
314
|
name: str
|
|
313
315
|
description: str
|
|
314
316
|
metadata: _struct_pb2.Struct
|
|
315
|
-
def __init__(self, assistant_id: _Optional[str] = ..., filters: _Optional[_Mapping[str, AuthFilter]] = ..., graph_id: _Optional[str] = ..., config: _Optional[_Union[
|
|
317
|
+
def __init__(self, assistant_id: _Optional[str] = ..., filters: _Optional[_Mapping[str, AuthFilter]] = ..., graph_id: _Optional[str] = ..., config: _Optional[_Union[Config, _Mapping]] = ..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., name: _Optional[str] = ..., description: _Optional[str] = ..., metadata: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
|
|
316
318
|
|
|
317
319
|
class DeleteAssistantRequest(_message.Message):
|
|
318
320
|
__slots__ = ("assistant_id", "filters")
|
|
@@ -498,13 +500,13 @@ class CheckpointPayload(_message.Message):
|
|
|
498
500
|
NEXT_FIELD_NUMBER: _ClassVar[int]
|
|
499
501
|
PARENT_CONFIG_FIELD_NUMBER: _ClassVar[int]
|
|
500
502
|
TASKS_FIELD_NUMBER: _ClassVar[int]
|
|
501
|
-
config:
|
|
503
|
+
config: Config
|
|
502
504
|
metadata: CheckpointMetadata
|
|
503
505
|
values: _struct_pb2.Struct
|
|
504
506
|
next: _containers.RepeatedScalarFieldContainer[str]
|
|
505
|
-
parent_config:
|
|
507
|
+
parent_config: Config
|
|
506
508
|
tasks: _containers.RepeatedCompositeFieldContainer[CheckpointTask]
|
|
507
|
-
def __init__(self, config: _Optional[_Union[
|
|
509
|
+
def __init__(self, config: _Optional[_Union[Config, _Mapping]] = ..., metadata: _Optional[_Union[CheckpointMetadata, _Mapping]] = ..., values: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., next: _Optional[_Iterable[str]] = ..., parent_config: _Optional[_Union[Config, _Mapping]] = ..., tasks: _Optional[_Iterable[_Union[CheckpointTask, _Mapping]]] = ...) -> None: ...
|
|
508
510
|
|
|
509
511
|
class Interrupt(_message.Message):
|
|
510
512
|
__slots__ = ("id", "value", "when", "resumable", "ns")
|
|
@@ -770,7 +772,7 @@ class RunKwargs(_message.Message):
|
|
|
770
772
|
RESUMABLE_FIELD_NUMBER: _ClassVar[int]
|
|
771
773
|
CHECKPOINT_DURING_FIELD_NUMBER: _ClassVar[int]
|
|
772
774
|
DURABILITY_FIELD_NUMBER: _ClassVar[int]
|
|
773
|
-
config:
|
|
775
|
+
config: Config
|
|
774
776
|
context: _struct_pb2.Struct
|
|
775
777
|
input: _struct_pb2.Struct
|
|
776
778
|
command: _struct_pb2.Struct
|
|
@@ -784,7 +786,7 @@ class RunKwargs(_message.Message):
|
|
|
784
786
|
resumable: bool
|
|
785
787
|
checkpoint_during: bool
|
|
786
788
|
durability: str
|
|
787
|
-
def __init__(self, config: _Optional[_Union[
|
|
789
|
+
def __init__(self, config: _Optional[_Union[Config, _Mapping]] = ..., context: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., input: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., command: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., stream_mode: _Optional[_Union[StreamMode, str]] = ..., interrupt_before: _Optional[_Iterable[str]] = ..., interrupt_after: _Optional[_Iterable[str]] = ..., webhook: _Optional[str] = ..., feedback_keys: _Optional[_Iterable[str]] = ..., temporary: bool = ..., subgraphs: bool = ..., resumable: bool = ..., checkpoint_during: bool = ..., durability: _Optional[str] = ...) -> None: ...
|
|
788
790
|
|
|
789
791
|
class Run(_message.Message):
|
|
790
792
|
__slots__ = ("run_id", "thread_id", "assistant_id", "created_at", "updated_at", "status", "metadata", "kwargs", "multitask_strategy")
|
langgraph_api/grpc_ops/ops.py
CHANGED
|
@@ -9,6 +9,7 @@ from http import HTTPStatus
|
|
|
9
9
|
from typing import Any
|
|
10
10
|
from uuid import UUID
|
|
11
11
|
|
|
12
|
+
import orjson
|
|
12
13
|
import structlog
|
|
13
14
|
from google.protobuf.json_format import MessageToDict
|
|
14
15
|
from google.protobuf.struct_pb2 import Struct # type: ignore[import]
|
|
@@ -44,27 +45,54 @@ def map_if_exists(if_exists: str) -> pb.OnConflictBehavior:
|
|
|
44
45
|
|
|
45
46
|
|
|
46
47
|
def map_configurable(config: Config) -> Struct:
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
"""Build pb.Config, placing non-standard keys into `extra` bytes.
|
|
49
|
+
|
|
50
|
+
The `extra` field mirrors any keys that are not first-class in
|
|
51
|
+
Config (e.g., "tags", "recursion_limit", "configurable").
|
|
52
|
+
It is JSON-encoded bytes to minimize serde overhead; the server will
|
|
53
|
+
unpack and persist them as top-level keys.
|
|
54
|
+
"""
|
|
55
|
+
base_keys = {"tags", "recursion_limit", "configurable"}
|
|
56
|
+
extra_dict = {k: v for k, v in (config or {}).items() if k not in base_keys}
|
|
57
|
+
|
|
58
|
+
kwargs: dict[str, Any] = dict(
|
|
59
|
+
tags=config.get("tags"),
|
|
49
60
|
recursion_limit=config.get("recursion_limit"),
|
|
50
|
-
configurable=
|
|
51
|
-
|
|
52
|
-
|
|
61
|
+
configurable=(
|
|
62
|
+
dict_to_struct(config.get("configurable", {}))
|
|
63
|
+
if config.get("configurable")
|
|
64
|
+
else None
|
|
65
|
+
),
|
|
53
66
|
)
|
|
67
|
+
if extra_dict:
|
|
68
|
+
kwargs["extra"] = orjson.dumps(extra_dict)
|
|
69
|
+
|
|
70
|
+
return pb.Config(**kwargs)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def consolidate_config_and_context(
|
|
74
|
+
config: Config | None, context: Context | None
|
|
75
|
+
) -> tuple[Config, Context | None]:
|
|
76
|
+
"""Return a new (config, context) with consistent configurable/context.
|
|
54
77
|
|
|
78
|
+
Does not mutate the passed-in objects. If both configurable and context
|
|
79
|
+
are provided, raises 400. If only one is provided, mirrors it to the other.
|
|
80
|
+
"""
|
|
81
|
+
cfg: Config = dict(config or {})
|
|
82
|
+
ctx: Context | None = dict(context) if context is not None else None
|
|
55
83
|
|
|
56
|
-
|
|
57
|
-
if config and config.get("configurable") and context:
|
|
84
|
+
if cfg.get("configurable") and ctx:
|
|
58
85
|
raise HTTPException(
|
|
59
86
|
status_code=400,
|
|
60
87
|
detail="Cannot specify both configurable and context. Prefer setting context alone. Context was introduced in LangGraph 0.6.0 and is the long term planned replacement for configurable.",
|
|
61
88
|
)
|
|
62
89
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
90
|
+
if cfg.get("configurable"):
|
|
91
|
+
ctx = cfg["configurable"]
|
|
92
|
+
elif ctx is not None:
|
|
93
|
+
cfg["configurable"] = ctx
|
|
94
|
+
|
|
95
|
+
return cfg, ctx
|
|
68
96
|
|
|
69
97
|
|
|
70
98
|
def dict_to_struct(data: dict[str, Any]) -> Struct:
|
|
@@ -80,19 +108,56 @@ def struct_to_dict(struct: Struct) -> dict[str, Any]:
|
|
|
80
108
|
return MessageToDict(struct) if struct else {}
|
|
81
109
|
|
|
82
110
|
|
|
111
|
+
def _runnable_config_to_user_dict(cfg: pb.Config | None) -> dict[str, Any]:
|
|
112
|
+
"""Convert pb.Config to user-visible dict, unpacking `extra`.
|
|
113
|
+
|
|
114
|
+
- Keeps top-level known keys: tags, recursion_limit, configurable.
|
|
115
|
+
- Merges keys from `extra` into the top-level dict.
|
|
116
|
+
"""
|
|
117
|
+
if not cfg:
|
|
118
|
+
return {}
|
|
119
|
+
|
|
120
|
+
out: dict[str, Any] = {}
|
|
121
|
+
# tags
|
|
122
|
+
if cfg.tags:
|
|
123
|
+
out["tags"] = list(cfg.tags)
|
|
124
|
+
# recursion_limit (preserve presence of 0 if set)
|
|
125
|
+
try:
|
|
126
|
+
if cfg.HasField("recursion_limit"):
|
|
127
|
+
out["recursion_limit"] = cfg.recursion_limit
|
|
128
|
+
except ValueError:
|
|
129
|
+
# Some runtimes may not support HasField on certain builds; fallback
|
|
130
|
+
if getattr(cfg, "recursion_limit", None) is not None:
|
|
131
|
+
out["recursion_limit"] = cfg.recursion_limit
|
|
132
|
+
# configurable
|
|
133
|
+
if cfg.HasField("configurable"):
|
|
134
|
+
out["configurable"] = struct_to_dict(cfg.configurable)
|
|
135
|
+
# extra (bytes: JSON-encoded object)
|
|
136
|
+
if cfg.HasField("extra") and cfg.extra:
|
|
137
|
+
extra = orjson.loads(cfg.extra)
|
|
138
|
+
if isinstance(extra, dict) and extra:
|
|
139
|
+
out.update(extra)
|
|
140
|
+
|
|
141
|
+
return out
|
|
142
|
+
|
|
143
|
+
|
|
83
144
|
def proto_to_assistant(proto_assistant: pb.Assistant) -> Assistant:
|
|
84
145
|
"""Convert protobuf Assistant to dictionary format."""
|
|
146
|
+
# Preserve None for optional scalar fields by checking presence via HasField
|
|
147
|
+
description = (
|
|
148
|
+
proto_assistant.description if proto_assistant.HasField("description") else None
|
|
149
|
+
)
|
|
85
150
|
return {
|
|
86
151
|
"assistant_id": proto_assistant.assistant_id,
|
|
87
152
|
"graph_id": proto_assistant.graph_id,
|
|
88
153
|
"version": proto_assistant.version,
|
|
89
154
|
"created_at": proto_assistant.created_at.ToDatetime(),
|
|
90
155
|
"updated_at": proto_assistant.updated_at.ToDatetime(),
|
|
91
|
-
"config":
|
|
156
|
+
"config": _runnable_config_to_user_dict(proto_assistant.config),
|
|
92
157
|
"context": struct_to_dict(proto_assistant.context),
|
|
93
158
|
"metadata": struct_to_dict(proto_assistant.metadata),
|
|
94
159
|
"name": proto_assistant.name,
|
|
95
|
-
"description":
|
|
160
|
+
"description": description,
|
|
96
161
|
}
|
|
97
162
|
|
|
98
163
|
|
|
@@ -308,7 +373,7 @@ class Assistants(Authenticated):
|
|
|
308
373
|
},
|
|
309
374
|
)
|
|
310
375
|
|
|
311
|
-
consolidate_config_and_context(config, context)
|
|
376
|
+
config, context = consolidate_config_and_context(config, context)
|
|
312
377
|
|
|
313
378
|
on_conflict = map_if_exists(if_exists)
|
|
314
379
|
|
|
@@ -368,7 +433,7 @@ class Assistants(Authenticated):
|
|
|
368
433
|
},
|
|
369
434
|
)
|
|
370
435
|
|
|
371
|
-
consolidate_config_and_context(config, context)
|
|
436
|
+
config, context = consolidate_config_and_context(config, context)
|
|
372
437
|
|
|
373
438
|
# Build the gRPC request
|
|
374
439
|
request = pb.PatchAssistantRequest(
|
|
@@ -498,16 +563,20 @@ class Assistants(Authenticated):
|
|
|
498
563
|
# Convert and yield the results
|
|
499
564
|
async def generate_results():
|
|
500
565
|
for version in response.versions:
|
|
566
|
+
# Preserve None for optional scalar fields by checking presence
|
|
567
|
+
version_description = (
|
|
568
|
+
version.description if version.HasField("description") else None
|
|
569
|
+
)
|
|
501
570
|
yield {
|
|
502
571
|
"assistant_id": version.assistant_id,
|
|
503
572
|
"graph_id": version.graph_id,
|
|
504
573
|
"version": version.version,
|
|
505
574
|
"created_at": version.created_at.ToDatetime(),
|
|
506
|
-
"config":
|
|
575
|
+
"config": _runnable_config_to_user_dict(version.config),
|
|
507
576
|
"context": struct_to_dict(version.context),
|
|
508
577
|
"metadata": struct_to_dict(version.metadata),
|
|
509
578
|
"name": version.name,
|
|
510
|
-
"description":
|
|
579
|
+
"description": version_description,
|
|
511
580
|
}
|
|
512
581
|
|
|
513
582
|
return generate_results()
|
|
@@ -12,22 +12,32 @@ if not (
|
|
|
12
12
|
truststore.inject_into_ssl() # noqa: F401
|
|
13
13
|
|
|
14
14
|
import asyncio
|
|
15
|
-
import contextlib
|
|
16
15
|
import json
|
|
17
16
|
import logging.config
|
|
18
17
|
import pathlib
|
|
19
18
|
import signal
|
|
19
|
+
import socket
|
|
20
20
|
from contextlib import asynccontextmanager
|
|
21
21
|
|
|
22
22
|
import structlog
|
|
23
23
|
|
|
24
|
+
from langgraph_api.utils.errors import GraphLoadError, HealthServerStartupError
|
|
25
|
+
from langgraph_runtime import lifespan
|
|
24
26
|
from langgraph_runtime.database import pool_stats
|
|
25
|
-
from langgraph_runtime.lifespan import lifespan
|
|
26
27
|
from langgraph_runtime.metrics import get_metrics
|
|
27
28
|
|
|
28
29
|
logger = structlog.stdlib.get_logger(__name__)
|
|
29
30
|
|
|
30
31
|
|
|
32
|
+
def _ensure_port_available(host: str, port: int) -> None:
|
|
33
|
+
try:
|
|
34
|
+
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
|
|
35
|
+
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
36
|
+
sock.bind((host, port))
|
|
37
|
+
except OSError as exc:
|
|
38
|
+
raise HealthServerStartupError(host, port, exc) from exc
|
|
39
|
+
|
|
40
|
+
|
|
31
41
|
async def health_and_metrics_server():
|
|
32
42
|
import uvicorn
|
|
33
43
|
from starlette.applications import Starlette
|
|
@@ -36,6 +46,7 @@ async def health_and_metrics_server():
|
|
|
36
46
|
from starlette.routing import Route
|
|
37
47
|
|
|
38
48
|
port = int(os.getenv("PORT", "8080"))
|
|
49
|
+
host = os.getenv("LANGGRAPH_SERVER_HOST", "0.0.0.0")
|
|
39
50
|
|
|
40
51
|
async def health_endpoint(request):
|
|
41
52
|
return JSONResponse({"status": "ok"})
|
|
@@ -96,9 +107,20 @@ async def health_and_metrics_server():
|
|
|
96
107
|
]
|
|
97
108
|
)
|
|
98
109
|
|
|
110
|
+
try:
|
|
111
|
+
_ensure_port_available(host, port)
|
|
112
|
+
except HealthServerStartupError as exc:
|
|
113
|
+
await logger.aerror(
|
|
114
|
+
str(exc),
|
|
115
|
+
host=exc.host,
|
|
116
|
+
port=exc.port,
|
|
117
|
+
cause=str(exc.cause),
|
|
118
|
+
)
|
|
119
|
+
raise
|
|
120
|
+
|
|
99
121
|
config = uvicorn.Config(
|
|
100
122
|
app,
|
|
101
|
-
host=
|
|
123
|
+
host=host,
|
|
102
124
|
port=port,
|
|
103
125
|
log_level="error",
|
|
104
126
|
access_log=False,
|
|
@@ -106,8 +128,33 @@ async def health_and_metrics_server():
|
|
|
106
128
|
# Server will run indefinitely until the process is terminated
|
|
107
129
|
server = uvicorn.Server(config)
|
|
108
130
|
|
|
109
|
-
logger.info(f"Health and metrics server started at http://
|
|
110
|
-
|
|
131
|
+
logger.info(f"Health and metrics server started at http://{host}:{port}")
|
|
132
|
+
try:
|
|
133
|
+
await server.serve()
|
|
134
|
+
except SystemExit as exc:
|
|
135
|
+
if exc.code == 0:
|
|
136
|
+
return
|
|
137
|
+
try:
|
|
138
|
+
_ensure_port_available(host, port)
|
|
139
|
+
except HealthServerStartupError as port_exc:
|
|
140
|
+
await logger.aerror(
|
|
141
|
+
str(port_exc),
|
|
142
|
+
host=port_exc.host,
|
|
143
|
+
port=port_exc.port,
|
|
144
|
+
cause=str(port_exc.cause),
|
|
145
|
+
)
|
|
146
|
+
raise port_exc from None
|
|
147
|
+
error = HealthServerStartupError(host, port, exc)
|
|
148
|
+
await logger.aerror(
|
|
149
|
+
str(error), host=error.host, port=error.port, cause=str(error.cause)
|
|
150
|
+
)
|
|
151
|
+
raise error from None
|
|
152
|
+
except OSError as exc:
|
|
153
|
+
error = HealthServerStartupError(host, port, exc)
|
|
154
|
+
await logger.aerror(
|
|
155
|
+
str(error), host=error.host, port=error.port, cause=str(error.cause)
|
|
156
|
+
)
|
|
157
|
+
raise error from exc
|
|
111
158
|
|
|
112
159
|
|
|
113
160
|
async def entrypoint(
|
|
@@ -127,7 +174,7 @@ async def entrypoint(
|
|
|
127
174
|
async def combined_lifespan(
|
|
128
175
|
app, with_cron_scheduler=False, grpc_port=None, taskset=None
|
|
129
176
|
):
|
|
130
|
-
async with lifespan(
|
|
177
|
+
async with lifespan.lifespan(
|
|
131
178
|
app,
|
|
132
179
|
with_cron_scheduler=with_cron_scheduler,
|
|
133
180
|
grpc_port=grpc_port,
|
|
@@ -149,6 +196,7 @@ async def entrypoint(
|
|
|
149
196
|
|
|
150
197
|
async def main(grpc_port: int | None = None, entrypoint_name: str = "python-queue"):
|
|
151
198
|
"""Run the queue entrypoint and shut down gracefully on SIGTERM/SIGINT."""
|
|
199
|
+
|
|
152
200
|
loop = asyncio.get_running_loop()
|
|
153
201
|
stop_event = asyncio.Event()
|
|
154
202
|
|
|
@@ -174,8 +222,23 @@ async def main(grpc_port: int | None = None, entrypoint_name: str = "python-queu
|
|
|
174
222
|
|
|
175
223
|
logger.warning("Cancelling queue entrypoint task")
|
|
176
224
|
entry_task.cancel()
|
|
177
|
-
|
|
225
|
+
try:
|
|
178
226
|
await entry_task
|
|
227
|
+
except asyncio.CancelledError:
|
|
228
|
+
pass
|
|
229
|
+
except (GraphLoadError, HealthServerStartupError) as exc:
|
|
230
|
+
raise SystemExit(1) from exc
|
|
231
|
+
except RuntimeError as exc:
|
|
232
|
+
if str(exc) == "generator didn't yield":
|
|
233
|
+
last_error = lifespan.get_last_error()
|
|
234
|
+
if last_error is not None:
|
|
235
|
+
logger.exception(
|
|
236
|
+
"Application startup failed",
|
|
237
|
+
error_type=type(last_error).__name__,
|
|
238
|
+
error_message=str(last_error),
|
|
239
|
+
)
|
|
240
|
+
raise SystemExit(1) from None
|
|
241
|
+
raise
|
|
179
242
|
|
|
180
243
|
|
|
181
244
|
if __name__ == "__main__":
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import traceback
|
|
4
|
+
from typing import TYPE_CHECKING, Any
|
|
5
|
+
|
|
6
|
+
if TYPE_CHECKING:
|
|
7
|
+
from langgraph_api.graph import GraphSpec
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class GraphLoadError(RuntimeError):
|
|
11
|
+
"""Raised when a user provided graph fails to load."""
|
|
12
|
+
|
|
13
|
+
def __init__(self, spec: GraphSpec, cause: Exception):
|
|
14
|
+
self.spec = spec
|
|
15
|
+
self.cause = cause
|
|
16
|
+
self.location = spec.module or spec.path or "<unknown>"
|
|
17
|
+
self.notes = tuple(getattr(cause, "__notes__", ()) or ())
|
|
18
|
+
self._traceback = traceback.TracebackException.from_exception(
|
|
19
|
+
cause, capture_locals=False
|
|
20
|
+
)
|
|
21
|
+
self._exception_only = list(self._traceback.format_exception_only())
|
|
22
|
+
message = f"Failed to load graph '{spec.id}' from {self.location}: {cause}"
|
|
23
|
+
super().__init__(message)
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def hint(self) -> str | None:
|
|
27
|
+
if isinstance(self.cause, ImportError):
|
|
28
|
+
return "Check that your project dependencies are installed and imports are correct."
|
|
29
|
+
return None
|
|
30
|
+
|
|
31
|
+
def log_fields(self) -> dict[str, Any]:
|
|
32
|
+
fields: dict[str, Any] = {
|
|
33
|
+
"graph_id": self.spec.id,
|
|
34
|
+
"location": self.location,
|
|
35
|
+
"error_type": type(self.cause).__name__,
|
|
36
|
+
"error_message": self.cause_message,
|
|
37
|
+
"error_boundary": "user_graph",
|
|
38
|
+
"summary": self.summary,
|
|
39
|
+
}
|
|
40
|
+
if self.hint:
|
|
41
|
+
fields["hint"] = self.hint
|
|
42
|
+
if self.notes:
|
|
43
|
+
fields["notes"] = "\n".join(self.notes)
|
|
44
|
+
fields["user_traceback"] = self.user_traceback()
|
|
45
|
+
return fields
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def cause_message(self) -> str:
|
|
49
|
+
if self._exception_only:
|
|
50
|
+
return self._exception_only[0].strip()
|
|
51
|
+
return str(self.cause)
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def summary(self) -> str:
|
|
55
|
+
return f"{type(self.cause).__name__}: {self.cause_message}"
|
|
56
|
+
|
|
57
|
+
def user_traceback(self) -> str:
|
|
58
|
+
"""Return the full traceback without filtering."""
|
|
59
|
+
return "".join(self._traceback.format())
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class HealthServerStartupError(RuntimeError):
|
|
63
|
+
def __init__(self, host: str, port: int, cause: BaseException):
|
|
64
|
+
self.host = host
|
|
65
|
+
self.port = port
|
|
66
|
+
self.cause = cause
|
|
67
|
+
port_desc = (
|
|
68
|
+
f"{host}:{port}" if host not in {"0.0.0.0", "::"} else f"port {port}"
|
|
69
|
+
)
|
|
70
|
+
if isinstance(cause, OSError) and cause.errno in {48, 98}:
|
|
71
|
+
message = (
|
|
72
|
+
f"Health/metrics server could not bind to {port_desc}: "
|
|
73
|
+
"address already in use. Stop the other process or set PORT to a free port."
|
|
74
|
+
)
|
|
75
|
+
else:
|
|
76
|
+
message = f"Health/metrics server failed to start on {port_desc}: {cause}"
|
|
77
|
+
super().__init__(message)
|
langgraph_api/worker.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
langgraph_api/__init__.py,sha256=
|
|
1
|
+
langgraph_api/__init__.py,sha256=W0DtmvTLu6FQL6tby9DrJltesCOu7Q36WFhsT2wLrgM,23
|
|
2
2
|
langgraph_api/asgi_transport.py,sha256=XtiLOu4WWsd-xizagBLzT5xUkxc9ZG9YqwvETBPjBFE,5161
|
|
3
3
|
langgraph_api/asyncio.py,sha256=FEEkLm_N-15cbElo4vQ309MkDKBZuRqAYV8VJ1DocNw,9860
|
|
4
4
|
langgraph_api/cli.py,sha256=o_zD2vkky06dzW87HQgkIR1_h3ZCSZ8tgNvFCK9rKVo,19669
|
|
@@ -8,14 +8,14 @@ langgraph_api/cron_scheduler.py,sha256=25wYzEQrhPEivZrAPYOmzLPDOQa-aFogU37mTXc9T
|
|
|
8
8
|
langgraph_api/errors.py,sha256=zlnl3xXIwVG0oGNKKpXf1an9Rn_SBDHSyhe53hU6aLw,1858
|
|
9
9
|
langgraph_api/executor_entrypoint.py,sha256=CaX813ygtf9CpOaBkfkQXJAHjFtmlScCkrOvTDmu4Aw,750
|
|
10
10
|
langgraph_api/feature_flags.py,sha256=taZRhukeBV8r62EmEo92rxfBwYhIw56-P_UvSzQLzt8,576
|
|
11
|
-
langgraph_api/graph.py,sha256=
|
|
11
|
+
langgraph_api/graph.py,sha256=1lrWBjPLtYFJjI0tVanCYlLWkULfj755yEmvuyXW9_g,25166
|
|
12
12
|
langgraph_api/http.py,sha256=fyK-H-0UfNy_BzuVW3aWWGvhRavmGAVMkDwDArryJ_4,5659
|
|
13
13
|
langgraph_api/http_metrics.py,sha256=iOJKQW8VdgkhWp5aBjy1RUghH5noxJTVFPEmmXwgCbE,5097
|
|
14
14
|
langgraph_api/http_metrics_utils.py,sha256=sjxF7SYGTzY0Wz_G0dzatsYNnWr31S6ujej4JmBG2yo,866
|
|
15
15
|
langgraph_api/logging.py,sha256=qB6q_cUba31edE4_D6dBGhdiUTpW7sXAOepUjYb_R50,5216
|
|
16
16
|
langgraph_api/metadata.py,sha256=0eGYhXOW6UIVDj2Y5mOdSJz_RadgJG8xmUsC9WqwsiE,8342
|
|
17
17
|
langgraph_api/patch.py,sha256=J0MmcfpZG15SUVaVcI0Z4x_c0-0rbbT7Pwh9fDAQOpA,1566
|
|
18
|
-
langgraph_api/queue_entrypoint.py,sha256=
|
|
18
|
+
langgraph_api/queue_entrypoint.py,sha256=z3ZUBl3CpnMm0KFPqCuGvSohPAmYQbhAdyRizSJSClM,8481
|
|
19
19
|
langgraph_api/route.py,sha256=EBhELuJ1He-ZYcAnR5YTImcIeDtWthDae5CHELBxPkM,5056
|
|
20
20
|
langgraph_api/schema.py,sha256=spZ_XPT4AMJfw2YatsdnMZZLzgB9Sm3YR8n0SlgGdJ8,8480
|
|
21
21
|
langgraph_api/self_hosted_metrics.py,sha256=JyDGs7lTKndL_vdtGq4rbPtOGdxCkil9_u6d_wTJeds,13980
|
|
@@ -29,10 +29,10 @@ langgraph_api/thread_ttl.py,sha256=KyHnvD0e1p1cV4Z_ZvKNVzDztuI2RBCUsUO2V7GlOSw,1
|
|
|
29
29
|
langgraph_api/traceblock.py,sha256=Qq5CUdefnMDaRDnyvBSWGBClEj-f3oO7NbH6fedxOSE,630
|
|
30
30
|
langgraph_api/validation.py,sha256=86jftgOsMa7tkeshBw6imYe7zyUXPoVuf5Voh6dFiR8,5285
|
|
31
31
|
langgraph_api/webhook.py,sha256=SvSM1rdnNtiH4q3JQYmAqJUk2Sable5xAcwOLuRhtlo,1723
|
|
32
|
-
langgraph_api/worker.py,sha256=
|
|
32
|
+
langgraph_api/worker.py,sha256=HHgf590xElF7v02lgn0lG0iK2v2sENMjdx7TVFCvYXY,15399
|
|
33
33
|
langgraph_api/api/__init__.py,sha256=raFkYH50tsO-KjRmDbGVoHCuxuH58u1lrZbr-MlITIY,6262
|
|
34
34
|
langgraph_api/api/a2a.py,sha256=HIHZkLnIcM1u1FJti-L2NH-h1I9BZ_d-QW9z3gFonn8,53995
|
|
35
|
-
langgraph_api/api/assistants.py,sha256=
|
|
35
|
+
langgraph_api/api/assistants.py,sha256=VxndCdWSWnLY-A5C7nMGdVaDsHDi7SpKREwx5vbWPG8,17445
|
|
36
36
|
langgraph_api/api/mcp.py,sha256=qe10ZRMN3f-Hli-9TI8nbQyWvMeBb72YB1PZVbyqBQw,14418
|
|
37
37
|
langgraph_api/api/meta.py,sha256=464nRdZPCPG-T1rouypReI8SPLHZlEec8dIj22H1Vvo,4787
|
|
38
38
|
langgraph_api/api/openapi.py,sha256=If-z1ckXt-Yu5bwQytK1LWyX_T7G46UtLfixgEP8hwc,11959
|
|
@@ -50,12 +50,11 @@ langgraph_api/auth/langsmith/backend.py,sha256=rdkz8IXLHusJqcoacvl2XuMZnQVR7PLpE
|
|
|
50
50
|
langgraph_api/auth/langsmith/client.py,sha256=Kn9503en1tmlNtkbvqRxYSRCOUrWaVpqvxyLLb1cgzY,3908
|
|
51
51
|
langgraph_api/grpc_ops/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
52
52
|
langgraph_api/grpc_ops/client.py,sha256=VB740C9QMhJJrpAEjsADmasN-uGd0apGYtuv_ho0Rl8,2452
|
|
53
|
-
langgraph_api/grpc_ops/ops.py,sha256=
|
|
53
|
+
langgraph_api/grpc_ops/ops.py,sha256=N9OqaMXdTUdQaTZ13gb0SCPkqtVy_NzhVGuqbAUBtsY,19678
|
|
54
54
|
langgraph_api/grpc_ops/generated/__init__.py,sha256=dRiB_iGscPKdMpuLp9ueLwAmIfRaNjNXC64ABtb4cg8,135
|
|
55
|
-
langgraph_api/grpc_ops/generated/core_api_pb2.py,sha256=
|
|
56
|
-
langgraph_api/grpc_ops/generated/core_api_pb2.pyi,sha256
|
|
55
|
+
langgraph_api/grpc_ops/generated/core_api_pb2.py,sha256=dDfkz_GlwEONJy6ysECWwFLhKSciBy_B0pn6rpMTE6I,42139
|
|
56
|
+
langgraph_api/grpc_ops/generated/core_api_pb2.pyi,sha256=-vJ6C020K9Kt44mH7-S9sy0QBLMXJsyB3T9AKIH1s4g,49184
|
|
57
57
|
langgraph_api/grpc_ops/generated/core_api_pb2_grpc.py,sha256=Qav2DuCMUSmR8nP4-fVtUBbY0Vc42jqjCs3L4LdIl-0,52467
|
|
58
|
-
langgraph_api/grpc_ops/scripts/generate_protos.sh,sha256=hSf1vgS0MoTlavbaUjiDKOSujuJ1RRN19UL6HS24JY4,1486
|
|
59
58
|
langgraph_api/js/.gitignore,sha256=l5yI6G_V6F1600I1IjiUKn87f4uYIrBAYU1MOyBBhg4,59
|
|
60
59
|
langgraph_api/js/.prettierrc,sha256=0es3ovvyNIqIw81rPQsdt1zCQcOdBqyR_DMbFE4Ifms,19
|
|
61
60
|
langgraph_api/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -90,6 +89,7 @@ langgraph_api/tunneling/cloudflare.py,sha256=iKb6tj-VWPlDchHFjuQyep2Dpb-w2NGfJKt
|
|
|
90
89
|
langgraph_api/utils/__init__.py,sha256=yCMq7pOMlmeNmi2Fh8U7KLiljBdOMcF0L2SfpobnKKE,5703
|
|
91
90
|
langgraph_api/utils/cache.py,sha256=F23s-4BPJjuYh_PRL5pmIsSjqYWsY_b3PB7xmRwKwKw,3452
|
|
92
91
|
langgraph_api/utils/config.py,sha256=Tbp4tKDSLKXQJ44EKr885wAQupY-9VWNJ6rgUU2oLOY,4162
|
|
92
|
+
langgraph_api/utils/errors.py,sha256=51WNBkbk1JHlTvA-J2lgkA3PDj3BEGcnhIECwAihWgU,2728
|
|
93
93
|
langgraph_api/utils/future.py,sha256=lXsRQPhJwY7JUbFFZrK-94JjgsToLu-EWU896hvbUxE,7289
|
|
94
94
|
langgraph_api/utils/headers.py,sha256=NDBmKSSVOOYeYN0HfK1a3xbYtAg35M_JO1G9yklpZsA,5682
|
|
95
95
|
langgraph_api/utils/retriable_client.py,sha256=a50ZxfXV48C97rOCiVWAEmfOPJELwPnvUyEqo3vEixI,2379
|
|
@@ -109,8 +109,8 @@ langgraph_runtime/store.py,sha256=7mowndlsIroGHv3NpTSOZDJR0lCuaYMBoTnTrewjslw,11
|
|
|
109
109
|
LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
110
110
|
logging.json,sha256=3RNjSADZmDq38eHePMm1CbP6qZ71AmpBtLwCmKU9Zgo,379
|
|
111
111
|
openapi.json,sha256=21wu-NxdxyTQwZctNcEfRkLMnSBi0QhGAfwq5kg8XNU,172618
|
|
112
|
-
langgraph_api-0.4.
|
|
113
|
-
langgraph_api-0.4.
|
|
114
|
-
langgraph_api-0.4.
|
|
115
|
-
langgraph_api-0.4.
|
|
116
|
-
langgraph_api-0.4.
|
|
112
|
+
langgraph_api-0.4.32.dist-info/METADATA,sha256=VmMC0B0Tww_6JgrIq0To6qq8JpKZCdggZUnDIpiwBtc,4156
|
|
113
|
+
langgraph_api-0.4.32.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
114
|
+
langgraph_api-0.4.32.dist-info/entry_points.txt,sha256=hGedv8n7cgi41PypMfinwS_HfCwA7xJIfS0jAp8htV8,78
|
|
115
|
+
langgraph_api-0.4.32.dist-info/licenses/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
116
|
+
langgraph_api-0.4.32.dist-info/RECORD,,
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Generate Python protobuf files from core protos
|
|
3
|
-
# Run this from the api/langgraph_api/grpc_ops directory
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
# Get the project root (three levels up from api/langgraph_api/grpc_ops)
|
|
8
|
-
PROJECT_ROOT="$(cd ../../../ && pwd)"
|
|
9
|
-
PROTO_DIR="${PROJECT_ROOT}/core/protos"
|
|
10
|
-
OUTPUT_DIR="generated"
|
|
11
|
-
|
|
12
|
-
# Check if proto file exists
|
|
13
|
-
if [[ ! -f "${PROTO_DIR}/core-api.proto" ]]; then
|
|
14
|
-
echo "Error: Proto file not found at ${PROTO_DIR}/core-api.proto"
|
|
15
|
-
exit 1
|
|
16
|
-
fi
|
|
17
|
-
|
|
18
|
-
# Create output directory if it doesn't exist
|
|
19
|
-
mkdir -p "${OUTPUT_DIR}"
|
|
20
|
-
|
|
21
|
-
# Generate Python protobuf files
|
|
22
|
-
echo "Generating Python protobuf files..."
|
|
23
|
-
uv run python -m grpc_tools.protoc \
|
|
24
|
-
-I"${PROTO_DIR}" \
|
|
25
|
-
--python_out="${OUTPUT_DIR}" \
|
|
26
|
-
--grpc_python_out="${OUTPUT_DIR}" \
|
|
27
|
-
--pyi_out="${OUTPUT_DIR}" \
|
|
28
|
-
"${PROTO_DIR}/core-api.proto"
|
|
29
|
-
|
|
30
|
-
# Fix imports to be relative in the generated gRPC file
|
|
31
|
-
echo "Fixing imports to be relative..."
|
|
32
|
-
if [[ -f "${OUTPUT_DIR}/core_api_pb2_grpc.py" ]]; then
|
|
33
|
-
# Make import of core_api_pb2 relative, preserving whatever alias grpc_tools chose
|
|
34
|
-
sed -i.bak 's/^import core_api_pb2 as /from . import core_api_pb2 as /' "${OUTPUT_DIR}/core_api_pb2_grpc.py"
|
|
35
|
-
rm -f "${OUTPUT_DIR}/core_api_pb2_grpc.py.bak"
|
|
36
|
-
fi
|
|
37
|
-
|
|
38
|
-
# Create __init__.py files
|
|
39
|
-
cat > "${OUTPUT_DIR}/__init__.py" << 'EOF'
|
|
40
|
-
# Generated protobuf files
|
|
41
|
-
from . import core_api_pb2
|
|
42
|
-
from . import core_api_pb2_grpc
|
|
43
|
-
|
|
44
|
-
__all__ = ["core_api_pb2", "core_api_pb2_grpc"]
|
|
45
|
-
EOF
|
|
46
|
-
|
|
47
|
-
echo "Python protobuf files generated successfully!"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|