langgraph-executor 0.0.1a0__py3-none-any.whl → 0.0.1a2__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.
@@ -8,6 +8,7 @@ import collections.abc
8
8
  import google.protobuf.descriptor
9
9
  import google.protobuf.internal.containers
10
10
  import google.protobuf.message
11
+ import google.protobuf.struct_pb2
11
12
  import graph_pb2
12
13
  import types_pb2
13
14
  import typing
@@ -64,18 +65,40 @@ class GetGraphResponse(google.protobuf.message.Message):
64
65
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
65
66
 
66
67
  GRAPH_DEFINITION_FIELD_NUMBER: builtins.int
68
+ PARENT_NAME_FIELD_NUMBER: builtins.int
69
+ CHECKPOINTER_FIELD_NUMBER: builtins.int
70
+ parent_name: builtins.str
71
+ checkpointer: builtins.bool
67
72
  @property
68
73
  def graph_definition(self) -> graph_pb2.GraphDefinition: ...
69
74
  def __init__(
70
75
  self,
71
76
  *,
72
77
  graph_definition: graph_pb2.GraphDefinition | None = ...,
78
+ parent_name: builtins.str | None = ...,
79
+ checkpointer: builtins.bool | None = ...,
73
80
  ) -> None: ...
74
- def HasField(self, field_name: typing.Literal["graph_definition", b"graph_definition"]) -> builtins.bool: ...
75
- def ClearField(self, field_name: typing.Literal["graph_definition", b"graph_definition"]) -> None: ...
81
+ def HasField(self, field_name: typing.Literal["_checkpointer", b"_checkpointer", "_parent_name", b"_parent_name", "checkpointer", b"checkpointer", "graph_definition", b"graph_definition", "parent_name", b"parent_name"]) -> builtins.bool: ...
82
+ def ClearField(self, field_name: typing.Literal["_checkpointer", b"_checkpointer", "_parent_name", b"_parent_name", "checkpointer", b"checkpointer", "graph_definition", b"graph_definition", "parent_name", b"parent_name"]) -> None: ...
83
+ @typing.overload
84
+ def WhichOneof(self, oneof_group: typing.Literal["_checkpointer", b"_checkpointer"]) -> typing.Literal["checkpointer"] | None: ...
85
+ @typing.overload
86
+ def WhichOneof(self, oneof_group: typing.Literal["_parent_name", b"_parent_name"]) -> typing.Literal["parent_name"] | None: ...
76
87
 
77
88
  global___GetGraphResponse = GetGraphResponse
78
89
 
90
+ @typing.final
91
+ class GetAllGraphsRequest(google.protobuf.message.Message):
92
+ """GetAllGraphs"""
93
+
94
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
95
+
96
+ def __init__(
97
+ self,
98
+ ) -> None: ...
99
+
100
+ global___GetAllGraphsRequest = GetAllGraphsRequest
101
+
79
102
  @typing.final
80
103
  class ChannelsFromCheckpointRequest(google.protobuf.message.Message):
81
104
  """GetChannelsFromCheckpoint"""
@@ -214,22 +237,26 @@ class ExecuteTaskResponse(google.protobuf.message.Message):
214
237
  TASK_RESULT_FIELD_NUMBER: builtins.int
215
238
  MESSAGE_OR_MESSAGE_CHUNK_FIELD_NUMBER: builtins.int
216
239
  CACHE_CHECK_REQUEST_FIELD_NUMBER: builtins.int
240
+ CUSTOM_STREAM_EVENT_FIELD_NUMBER: builtins.int
217
241
  @property
218
242
  def task_result(self) -> global___TaskResult: ...
219
243
  @property
220
244
  def message_or_message_chunk(self) -> types_pb2.Message: ...
221
245
  @property
222
246
  def cache_check_request(self) -> global___CacheCheckRequest: ...
247
+ @property
248
+ def custom_stream_event(self) -> global___CustomStreamEvent: ...
223
249
  def __init__(
224
250
  self,
225
251
  *,
226
252
  task_result: global___TaskResult | None = ...,
227
253
  message_or_message_chunk: types_pb2.Message | None = ...,
228
254
  cache_check_request: global___CacheCheckRequest | None = ...,
255
+ custom_stream_event: global___CustomStreamEvent | None = ...,
229
256
  ) -> None: ...
230
- def HasField(self, field_name: typing.Literal["cache_check_request", b"cache_check_request", "message", b"message", "message_or_message_chunk", b"message_or_message_chunk", "task_result", b"task_result"]) -> builtins.bool: ...
231
- def ClearField(self, field_name: typing.Literal["cache_check_request", b"cache_check_request", "message", b"message", "message_or_message_chunk", b"message_or_message_chunk", "task_result", b"task_result"]) -> None: ...
232
- def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["task_result", "message_or_message_chunk", "cache_check_request"] | None: ...
257
+ def HasField(self, field_name: typing.Literal["cache_check_request", b"cache_check_request", "custom_stream_event", b"custom_stream_event", "message", b"message", "message_or_message_chunk", b"message_or_message_chunk", "task_result", b"task_result"]) -> builtins.bool: ...
258
+ def ClearField(self, field_name: typing.Literal["cache_check_request", b"cache_check_request", "custom_stream_event", b"custom_stream_event", "message", b"message", "message_or_message_chunk", b"message_or_message_chunk", "task_result", b"task_result"]) -> None: ...
259
+ def WhichOneof(self, oneof_group: typing.Literal["message", b"message"]) -> typing.Literal["task_result", "message_or_message_chunk", "cache_check_request", "custom_stream_event"] | None: ...
233
260
 
234
261
  global___ExecuteTaskResponse = ExecuteTaskResponse
235
262
 
@@ -255,6 +282,23 @@ class TaskResult(google.protobuf.message.Message):
255
282
 
256
283
  global___TaskResult = TaskResult
257
284
 
285
+ @typing.final
286
+ class CustomStreamEvent(google.protobuf.message.Message):
287
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
288
+
289
+ PAYLOAD_FIELD_NUMBER: builtins.int
290
+ @property
291
+ def payload(self) -> google.protobuf.struct_pb2.Struct: ...
292
+ def __init__(
293
+ self,
294
+ *,
295
+ payload: google.protobuf.struct_pb2.Struct | None = ...,
296
+ ) -> None: ...
297
+ def HasField(self, field_name: typing.Literal["payload", b"payload"]) -> builtins.bool: ...
298
+ def ClearField(self, field_name: typing.Literal["payload", b"payload"]) -> None: ...
299
+
300
+ global___CustomStreamEvent = CustomStreamEvent
301
+
258
302
  @typing.final
259
303
  class ApplyWritesRequest(google.protobuf.message.Message):
260
304
  """Apply Writes"""
@@ -45,6 +45,11 @@ class LangGraphExecutorStub(object):
45
45
  request_serializer=executor__pb2.GetGraphRequest.SerializeToString,
46
46
  response_deserializer=executor__pb2.GetGraphResponse.FromString,
47
47
  _registered_method=True)
48
+ self.GetAllGraphs = channel.unary_stream(
49
+ '/executor.LangGraphExecutor/GetAllGraphs',
50
+ request_serializer=executor__pb2.GetAllGraphsRequest.SerializeToString,
51
+ response_deserializer=executor__pb2.GetGraphResponse.FromString,
52
+ _registered_method=True)
48
53
  self.ChannelsFromCheckpoint = channel.unary_unary(
49
54
  '/executor.LangGraphExecutor/ChannelsFromCheckpoint',
50
55
  request_serializer=executor__pb2.ChannelsFromCheckpointRequest.SerializeToString,
@@ -85,6 +90,13 @@ class LangGraphExecutorServicer(object):
85
90
  context.set_details('Method not implemented!')
86
91
  raise NotImplementedError('Method not implemented!')
87
92
 
93
+ def GetAllGraphs(self, request, context):
94
+ """Get all supported graph definitions
95
+ """
96
+ context.set_code(grpc.StatusCode.UNIMPLEMENTED)
97
+ context.set_details('Method not implemented!')
98
+ raise NotImplementedError('Method not implemented!')
99
+
88
100
  def ChannelsFromCheckpoint(self, request, context):
89
101
  """Get channels initialized from checkpoint
90
102
  """
@@ -126,6 +138,11 @@ def add_LangGraphExecutorServicer_to_server(servicer, server):
126
138
  request_deserializer=executor__pb2.GetGraphRequest.FromString,
127
139
  response_serializer=executor__pb2.GetGraphResponse.SerializeToString,
128
140
  ),
141
+ 'GetAllGraphs': grpc.unary_stream_rpc_method_handler(
142
+ servicer.GetAllGraphs,
143
+ request_deserializer=executor__pb2.GetAllGraphsRequest.FromString,
144
+ response_serializer=executor__pb2.GetGraphResponse.SerializeToString,
145
+ ),
129
146
  'ChannelsFromCheckpoint': grpc.unary_unary_rpc_method_handler(
130
147
  servicer.ChannelsFromCheckpoint,
131
148
  request_deserializer=executor__pb2.ChannelsFromCheckpointRequest.FromString,
@@ -212,6 +229,33 @@ class LangGraphExecutor(object):
212
229
  metadata,
213
230
  _registered_method=True)
214
231
 
232
+ @staticmethod
233
+ def GetAllGraphs(request,
234
+ target,
235
+ options=(),
236
+ channel_credentials=None,
237
+ call_credentials=None,
238
+ insecure=False,
239
+ compression=None,
240
+ wait_for_ready=None,
241
+ timeout=None,
242
+ metadata=None):
243
+ return grpc.experimental.unary_stream(
244
+ request,
245
+ target,
246
+ '/executor.LangGraphExecutor/GetAllGraphs',
247
+ executor__pb2.GetAllGraphsRequest.SerializeToString,
248
+ executor__pb2.GetGraphResponse.FromString,
249
+ options,
250
+ channel_credentials,
251
+ insecure,
252
+ call_credentials,
253
+ compression,
254
+ wait_for_ready,
255
+ timeout,
256
+ metadata,
257
+ _registered_method=True)
258
+
215
259
  @staticmethod
216
260
  def ChannelsFromCheckpoint(request,
217
261
  target,
@@ -33,6 +33,12 @@ class LangGraphExecutorStub:
33
33
  ]
34
34
  """Get graph definition"""
35
35
 
36
+ GetAllGraphs: grpc.UnaryStreamMultiCallable[
37
+ executor_pb2.GetAllGraphsRequest,
38
+ executor_pb2.GetGraphResponse,
39
+ ]
40
+ """Get all supported graph definitions"""
41
+
36
42
  ChannelsFromCheckpoint: grpc.UnaryUnaryMultiCallable[
37
43
  executor_pb2.ChannelsFromCheckpointRequest,
38
44
  executor_pb2.ChannelsFromCheckpointResponse,
@@ -72,6 +78,12 @@ class LangGraphExecutorAsyncStub:
72
78
  ]
73
79
  """Get graph definition"""
74
80
 
81
+ GetAllGraphs: grpc.aio.UnaryStreamMultiCallable[
82
+ executor_pb2.GetAllGraphsRequest,
83
+ executor_pb2.GetGraphResponse,
84
+ ]
85
+ """Get all supported graph definitions"""
86
+
75
87
  ChannelsFromCheckpoint: grpc.aio.UnaryUnaryMultiCallable[
76
88
  executor_pb2.ChannelsFromCheckpointRequest,
77
89
  executor_pb2.ChannelsFromCheckpointResponse,
@@ -115,6 +127,14 @@ class LangGraphExecutorServicer(metaclass=abc.ABCMeta):
115
127
  ) -> typing.Union[executor_pb2.GetGraphResponse, collections.abc.Awaitable[executor_pb2.GetGraphResponse]]:
116
128
  """Get graph definition"""
117
129
 
130
+ @abc.abstractmethod
131
+ def GetAllGraphs(
132
+ self,
133
+ request: executor_pb2.GetAllGraphsRequest,
134
+ context: _ServicerContext,
135
+ ) -> typing.Union[collections.abc.Iterator[executor_pb2.GetGraphResponse], collections.abc.AsyncIterator[executor_pb2.GetGraphResponse]]:
136
+ """Get all supported graph definitions"""
137
+
118
138
  @abc.abstractmethod
119
139
  def ChannelsFromCheckpoint(
120
140
  self,
@@ -26,7 +26,7 @@ from . import types_pb2 as types__pb2
26
26
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
27
27
 
28
28
 
29
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bgraph.proto\x12\x05graph\x1a\x0btypes.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xd5\x05\n\x0fGraphDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x30\n\x05nodes\x18\x02 \x03(\x0b\x32!.graph.GraphDefinition.NodesEntry\x12!\n\x08\x63hannels\x18\x03 \x01(\x0b\x32\x0f.types.Channels\x12\x16\n\x0einput_channels\x18\x04 \x03(\t\x12\x17\n\x0foutput_channels\x18\x05 \x03(\t\x12\x1e\n\x16input_channels_is_list\x18\x06 \x01(\x08\x12\x1f\n\x17output_channels_is_list\x18\x07 \x01(\x08\x12\x1e\n\x16interrupt_before_nodes\x18\x08 \x03(\t\x12\x1d\n\x15interrupt_after_nodes\x18\t \x03(\t\x12\x44\n\x10trigger_to_nodes\x18\n \x03(\x0b\x32*.graph.GraphDefinition.TriggerToNodesEntry\x12\x13\n\x0bstream_mode\x18\x0b \x03(\t\x12\x14\n\x0cstream_eager\x18\x0c \x01(\x08\x12\x17\n\x0fstream_channels\x18\r \x03(\t\x12\x14\n\x0cstep_timeout\x18\x0e \x01(\x02\x12\r\n\x05\x64\x65\x62ug\x18\x0f \x01(\x08\x12\x1b\n\x05\x63\x61\x63he\x18\x10 \x01(\x0b\x32\x0c.graph.Cache\x12(\n\x0cretry_policy\x18\x11 \x01(\x0b\x32\x12.graph.RetryPolicy\x12%\n\x06\x63onfig\x18\x12 \x01(\x0b\x32\x15.types.RunnableConfig\x1a\x43\n\nNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.graph.NodeDefinition:\x02\x38\x01\x1aL\n\x13TriggerToNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.graph.TriggerMapping:\x02\x38\x01\"\x8c\x01\n\x0eNodeDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08triggers\x18\x02 \x03(\t\x12\x0f\n\x07writers\x18\x03 \x03(\t\x12\x0c\n\x04tags\x18\x04 \x03(\t\x12)\n\x08metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x63hannels\x18\x06 \x03(\t\"{\n\x0bRetryPolicy\x12\x18\n\x10initial_interval\x18\x01 \x01(\x02\x12\x16\n\x0e\x62\x61\x63koff_factor\x18\x02 \x01(\x02\x12\x14\n\x0cmax_interval\x18\x03 \x01(\x02\x12\x14\n\x0cmax_attempts\x18\x04 \x01(\x05\x12\x0e\n\x06jitter\x18\x05 \x01(\x08\"\x1b\n\x05\x43\x61\x63he\x12\x12\n\ncache_type\x18\x01 \x01(\t\"\x1f\n\x0eTriggerMapping\x12\r\n\x05nodes\x18\x01 \x03(\tB1Z/github.com/langchain-ai/langgraph-go/runtime/pbb\x06proto3')
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0bgraph.proto\x12\x05graph\x1a\x0btypes.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x84\x05\n\x0fGraphDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12$\n\x05nodes\x18\x02 \x03(\x0b\x32\x15.graph.NodeDefinition\x12!\n\x08\x63hannels\x18\x03 \x01(\x0b\x32\x0f.types.Channels\x12\x16\n\x0einput_channels\x18\x04 \x03(\t\x12\x17\n\x0foutput_channels\x18\x05 \x03(\t\x12\x1e\n\x16input_channels_is_list\x18\x06 \x01(\x08\x12\x1f\n\x17output_channels_is_list\x18\x07 \x01(\x08\x12\x1e\n\x16interrupt_before_nodes\x18\x08 \x03(\t\x12\x1d\n\x15interrupt_after_nodes\x18\t \x03(\t\x12\x44\n\x10trigger_to_nodes\x18\n \x03(\x0b\x32*.graph.GraphDefinition.TriggerToNodesEntry\x12\x13\n\x0bstream_mode\x18\x0b \x03(\t\x12\x14\n\x0cstream_eager\x18\x0c \x01(\x08\x12\x17\n\x0fstream_channels\x18\r \x03(\t\x12\x14\n\x0cstep_timeout\x18\x0e \x01(\x02\x12\r\n\x05\x64\x65\x62ug\x18\x0f \x01(\x08\x12\x1b\n\x05\x63\x61\x63he\x18\x10 \x01(\x0b\x32\x0c.graph.Cache\x12(\n\x0cretry_policy\x18\x11 \x01(\x0b\x32\x12.graph.RetryPolicy\x12%\n\x06\x63onfig\x18\x12 \x01(\x0b\x32\x15.types.RunnableConfig\x1aL\n\x13TriggerToNodesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12$\n\x05value\x18\x02 \x01(\x0b\x32\x15.graph.TriggerMapping:\x02\x38\x01\"\x8c\x01\n\x0eNodeDefinition\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08triggers\x18\x02 \x03(\t\x12\x0f\n\x07writers\x18\x03 \x03(\t\x12\x0c\n\x04tags\x18\x04 \x03(\t\x12)\n\x08metadata\x18\x05 \x01(\x0b\x32\x17.google.protobuf.Struct\x12\x10\n\x08\x63hannels\x18\x06 \x03(\t\"{\n\x0bRetryPolicy\x12\x18\n\x10initial_interval\x18\x01 \x01(\x02\x12\x16\n\x0e\x62\x61\x63koff_factor\x18\x02 \x01(\x02\x12\x14\n\x0cmax_interval\x18\x03 \x01(\x02\x12\x14\n\x0cmax_attempts\x18\x04 \x01(\x05\x12\x0e\n\x06jitter\x18\x05 \x01(\x08\"\x1b\n\x05\x43\x61\x63he\x12\x12\n\ncache_type\x18\x01 \x01(\t\"\x1f\n\x0eTriggerMapping\x12\r\n\x05nodes\x18\x01 \x03(\tB1Z/github.com/langchain-ai/langgraph-go/runtime/pbb\x06proto3')
30
30
 
31
31
  _globals = globals()
32
32
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,22 +34,18 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'graph_pb2', _globals)
34
34
  if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._loaded_options = None
36
36
  _globals['DESCRIPTOR']._serialized_options = b'Z/github.com/langchain-ai/langgraph-go/runtime/pb'
37
- _globals['_GRAPHDEFINITION_NODESENTRY']._loaded_options = None
38
- _globals['_GRAPHDEFINITION_NODESENTRY']._serialized_options = b'8\001'
39
37
  _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._loaded_options = None
40
38
  _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._serialized_options = b'8\001'
41
39
  _globals['_GRAPHDEFINITION']._serialized_start=66
42
- _globals['_GRAPHDEFINITION']._serialized_end=791
43
- _globals['_GRAPHDEFINITION_NODESENTRY']._serialized_start=646
44
- _globals['_GRAPHDEFINITION_NODESENTRY']._serialized_end=713
45
- _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._serialized_start=715
46
- _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._serialized_end=791
47
- _globals['_NODEDEFINITION']._serialized_start=794
48
- _globals['_NODEDEFINITION']._serialized_end=934
49
- _globals['_RETRYPOLICY']._serialized_start=936
50
- _globals['_RETRYPOLICY']._serialized_end=1059
51
- _globals['_CACHE']._serialized_start=1061
52
- _globals['_CACHE']._serialized_end=1088
53
- _globals['_TRIGGERMAPPING']._serialized_start=1090
54
- _globals['_TRIGGERMAPPING']._serialized_end=1121
40
+ _globals['_GRAPHDEFINITION']._serialized_end=710
41
+ _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._serialized_start=634
42
+ _globals['_GRAPHDEFINITION_TRIGGERTONODESENTRY']._serialized_end=710
43
+ _globals['_NODEDEFINITION']._serialized_start=713
44
+ _globals['_NODEDEFINITION']._serialized_end=853
45
+ _globals['_RETRYPOLICY']._serialized_start=855
46
+ _globals['_RETRYPOLICY']._serialized_end=978
47
+ _globals['_CACHE']._serialized_start=980
48
+ _globals['_CACHE']._serialized_end=1007
49
+ _globals['_TRIGGERMAPPING']._serialized_start=1009
50
+ _globals['_TRIGGERMAPPING']._serialized_end=1040
55
51
  # @@protoc_insertion_point(module_scope)
@@ -18,24 +18,6 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
18
18
  class GraphDefinition(google.protobuf.message.Message):
19
19
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
20
20
 
21
- @typing.final
22
- class NodesEntry(google.protobuf.message.Message):
23
- DESCRIPTOR: google.protobuf.descriptor.Descriptor
24
-
25
- KEY_FIELD_NUMBER: builtins.int
26
- VALUE_FIELD_NUMBER: builtins.int
27
- key: builtins.str
28
- @property
29
- def value(self) -> global___NodeDefinition: ...
30
- def __init__(
31
- self,
32
- *,
33
- key: builtins.str = ...,
34
- value: global___NodeDefinition | None = ...,
35
- ) -> None: ...
36
- def HasField(self, field_name: typing.Literal["value", b"value"]) -> builtins.bool: ...
37
- def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...
38
-
39
21
  @typing.final
40
22
  class TriggerToNodesEntry(google.protobuf.message.Message):
41
23
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
@@ -79,7 +61,7 @@ class GraphDefinition(google.protobuf.message.Message):
79
61
  step_timeout: builtins.float
80
62
  debug: builtins.bool
81
63
  @property
82
- def nodes(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___NodeDefinition]: ...
64
+ def nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NodeDefinition]: ...
83
65
  @property
84
66
  def channels(self) -> types_pb2.Channels: ...
85
67
  @property
@@ -106,7 +88,7 @@ class GraphDefinition(google.protobuf.message.Message):
106
88
  self,
107
89
  *,
108
90
  name: builtins.str = ...,
109
- nodes: collections.abc.Mapping[builtins.str, global___NodeDefinition] | None = ...,
91
+ nodes: collections.abc.Iterable[global___NodeDefinition] | None = ...,
110
92
  channels: types_pb2.Channels | None = ...,
111
93
  input_channels: collections.abc.Iterable[builtins.str] | None = ...,
112
94
  output_channels: collections.abc.Iterable[builtins.str] | None = ...,
@@ -27,7 +27,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
27
27
  from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
28
28
 
29
29
 
30
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rruntime.proto\x12\x07runtime\x1a\x0btypes.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"%\n\x12\x41\x64\x64\x45xecutorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"L\n\x0f\x41\x64\x64GraphRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x0c\x63heckpointer\x18\x02 \x01(\x0b\x32\x15.runtime.Checkpointer\"}\n\x0c\x43heckpointer\x12/\n\x06memory\x18\x02 \x01(\x0b\x32\x1d.runtime.InMemoryCheckpointerH\x00\x12\x31\n\x08postgres\x18\x03 \x01(\x0b\x32\x1d.runtime.PostgresCheckpointerH\x00\x42\t\n\x07message\"\x16\n\x14InMemoryCheckpointer\"1\n\x14PostgresCheckpointer\x12\x19\n\x11\x63onnection_string\x18\x01 \x01(\t\"\xcf\x01\n\rInvokeRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12\x1b\n\x05input\x18\x02 \x01(\x0b\x32\x0c.types.Value\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x08run_opts\x18\x04 \x01(\x0b\x32\x10.runtime.RunOptsH\x00\x88\x01\x01\x12$\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x0e.types.ContextH\x01\x88\x01\x01\x42\x0b\n\t_run_optsB\n\n\x08_context\"\xcf\x01\n\rStreamRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12\x1b\n\x05input\x18\x02 \x01(\x0b\x32\x0c.types.Value\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x08run_opts\x18\x04 \x01(\x0b\x32\x10.runtime.RunOptsH\x00\x88\x01\x01\x12$\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x0e.types.ContextH\x01\x88\x01\x01\x42\x0b\n\t_run_optsB\n\n\x08_context\"\xd2\x01\n\x07RunOpts\x12\x13\n\x0boutput_keys\x18\x01 \x03(\t\x12\x18\n\x10interrupt_before\x18\x02 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x03 \x03(\t\x12\x17\n\ndurability\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65\x62ug\x18\x05 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x06 \x01(\x08H\x02\x88\x01\x01\x12\x13\n\x0bstream_mode\x18\x07 \x03(\tB\r\n\x0b_durabilityB\x08\n\x06_debugB\x0c\n\n_subgraphs\"1\n\tChunkList\x12$\n\x06\x63hunks\x18\x01 \x03(\x0b\x32\x14.runtime.OutputChunk\"\x86\x01\n\x0bOutputChunk\x12#\n\x05\x63hunk\x18\x01 \x01(\x0b\x32\x12.types.StreamChunkH\x00\x12\x1d\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x0c.types.ValueH\x00\x12(\n\nchunk_list\x18\x05 \x01(\x0b\x32\x12.runtime.ChunkListH\x00\x42\t\n\x07message\"_\n\x0fGetStateRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12%\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x15.types.RunnableConfig\x12\x11\n\tsubgraphs\x18\x03 \x01(\x08\"7\n\x10GetStateResponse\x12#\n\x05state\x18\x01 \x01(\x0b\x32\x14.types.StateSnapshot\"\xb2\x01\n\x16GetStateHistoryRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12%\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x06\x62\x65\x66ore\x18\x04 \x01(\x0b\x32\x15.types.RunnableConfig\x12\r\n\x05limit\x18\x05 \x01(\x03\"@\n\x17GetStateHistoryResponse\x12%\n\x07history\x18\x01 \x03(\x0b\x32\x14.types.StateSnapshot2\x9d\x03\n\x10LangGraphRuntime\x12\x42\n\x0b\x41\x64\x64\x45xecutor\x12\x1b.runtime.AddExecutorRequest\x1a\x16.google.protobuf.Empty\x12<\n\x08\x41\x64\x64Graph\x12\x18.runtime.AddGraphRequest\x1a\x16.google.protobuf.Empty\x12\x36\n\x06Invoke\x12\x16.runtime.InvokeRequest\x1a\x14.runtime.OutputChunk\x12\x38\n\x06Stream\x12\x16.runtime.StreamRequest\x1a\x14.runtime.OutputChunk0\x01\x12?\n\x08GetState\x12\x18.runtime.GetStateRequest\x1a\x19.runtime.GetStateResponse\x12T\n\x0fGetStateHistory\x12\x1f.runtime.GetStateHistoryRequest\x1a .runtime.GetStateHistoryResponseB1Z/github.com/langchain-ai/langgraph-go/runtime/pbb\x06proto3')
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\rruntime.proto\x12\x07runtime\x1a\x0btypes.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"%\n\x12\x41\x64\x64\x45xecutorRequest\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"L\n\x0f\x41\x64\x64GraphRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12+\n\x0c\x63heckpointer\x18\x02 \x01(\x0b\x32\x15.runtime.Checkpointer\"}\n\x0c\x43heckpointer\x12/\n\x06memory\x18\x02 \x01(\x0b\x32\x1d.runtime.InMemoryCheckpointerH\x00\x12\x31\n\x08postgres\x18\x03 \x01(\x0b\x32\x1d.runtime.PostgresCheckpointerH\x00\x42\t\n\x07message\"\x16\n\x14InMemoryCheckpointer\",\n\x14PostgresCheckpointer\x12\x14\n\x0c\x64\x61tabase_uri\x18\x01 \x01(\t\"\xcf\x01\n\rInvokeRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12\x1b\n\x05input\x18\x02 \x01(\x0b\x32\x0c.types.Value\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x08run_opts\x18\x04 \x01(\x0b\x32\x10.runtime.RunOptsH\x00\x88\x01\x01\x12$\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x0e.types.ContextH\x01\x88\x01\x01\x42\x0b\n\t_run_optsB\n\n\x08_context\"\xcf\x01\n\rStreamRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12\x1b\n\x05input\x18\x02 \x01(\x0b\x32\x0c.types.Value\x12%\n\x06\x63onfig\x18\x03 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x08run_opts\x18\x04 \x01(\x0b\x32\x10.runtime.RunOptsH\x00\x88\x01\x01\x12$\n\x07\x63ontext\x18\x05 \x01(\x0b\x32\x0e.types.ContextH\x01\x88\x01\x01\x42\x0b\n\t_run_optsB\n\n\x08_context\"\xd2\x01\n\x07RunOpts\x12\x13\n\x0boutput_keys\x18\x01 \x03(\t\x12\x18\n\x10interrupt_before\x18\x02 \x03(\t\x12\x17\n\x0finterrupt_after\x18\x03 \x03(\t\x12\x17\n\ndurability\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65\x62ug\x18\x05 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tsubgraphs\x18\x06 \x01(\x08H\x02\x88\x01\x01\x12\x13\n\x0bstream_mode\x18\x07 \x03(\tB\r\n\x0b_durabilityB\x08\n\x06_debugB\x0c\n\n_subgraphs\"1\n\tChunkList\x12$\n\x06\x63hunks\x18\x01 \x03(\x0b\x32\x14.runtime.OutputChunk\"\x86\x01\n\x0bOutputChunk\x12#\n\x05\x63hunk\x18\x01 \x01(\x0b\x32\x12.types.StreamChunkH\x00\x12\x1d\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x0c.types.ValueH\x00\x12(\n\nchunk_list\x18\x05 \x01(\x0b\x32\x12.runtime.ChunkListH\x00\x42\t\n\x07message\"_\n\x0fGetStateRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12%\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x15.types.RunnableConfig\x12\x11\n\tsubgraphs\x18\x03 \x01(\x08\"7\n\x10GetStateResponse\x12#\n\x05state\x18\x01 \x01(\x0b\x32\x14.types.StateSnapshot\"\xb2\x01\n\x16GetStateHistoryRequest\x12\x12\n\ngraph_name\x18\x01 \x01(\t\x12%\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x15.types.RunnableConfig\x12\'\n\x06\x66ilter\x18\x03 \x01(\x0b\x32\x17.google.protobuf.Struct\x12%\n\x06\x62\x65\x66ore\x18\x04 \x01(\x0b\x32\x15.types.RunnableConfig\x12\r\n\x05limit\x18\x05 \x01(\x03\"@\n\x17GetStateHistoryResponse\x12%\n\x07history\x18\x01 \x03(\x0b\x32\x14.types.StateSnapshot2\x9d\x03\n\x10LangGraphRuntime\x12\x42\n\x0b\x41\x64\x64\x45xecutor\x12\x1b.runtime.AddExecutorRequest\x1a\x16.google.protobuf.Empty\x12<\n\x08\x41\x64\x64Graph\x12\x18.runtime.AddGraphRequest\x1a\x16.google.protobuf.Empty\x12\x36\n\x06Invoke\x12\x16.runtime.InvokeRequest\x1a\x14.runtime.OutputChunk\x12\x38\n\x06Stream\x12\x16.runtime.StreamRequest\x1a\x14.runtime.OutputChunk0\x01\x12?\n\x08GetState\x12\x18.runtime.GetStateRequest\x1a\x19.runtime.GetStateResponse\x12T\n\x0fGetStateHistory\x12\x1f.runtime.GetStateHistoryRequest\x1a .runtime.GetStateHistoryResponseB1Z/github.com/langchain-ai/langgraph-go/runtime/pbb\x06proto3')
31
31
 
32
32
  _globals = globals()
33
33
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -44,25 +44,25 @@ if not _descriptor._USE_C_DESCRIPTORS:
44
44
  _globals['_INMEMORYCHECKPOINTER']._serialized_start=342
45
45
  _globals['_INMEMORYCHECKPOINTER']._serialized_end=364
46
46
  _globals['_POSTGRESCHECKPOINTER']._serialized_start=366
47
- _globals['_POSTGRESCHECKPOINTER']._serialized_end=415
48
- _globals['_INVOKEREQUEST']._serialized_start=418
49
- _globals['_INVOKEREQUEST']._serialized_end=625
50
- _globals['_STREAMREQUEST']._serialized_start=628
51
- _globals['_STREAMREQUEST']._serialized_end=835
52
- _globals['_RUNOPTS']._serialized_start=838
53
- _globals['_RUNOPTS']._serialized_end=1048
54
- _globals['_CHUNKLIST']._serialized_start=1050
55
- _globals['_CHUNKLIST']._serialized_end=1099
56
- _globals['_OUTPUTCHUNK']._serialized_start=1102
57
- _globals['_OUTPUTCHUNK']._serialized_end=1236
58
- _globals['_GETSTATEREQUEST']._serialized_start=1238
59
- _globals['_GETSTATEREQUEST']._serialized_end=1333
60
- _globals['_GETSTATERESPONSE']._serialized_start=1335
61
- _globals['_GETSTATERESPONSE']._serialized_end=1390
62
- _globals['_GETSTATEHISTORYREQUEST']._serialized_start=1393
63
- _globals['_GETSTATEHISTORYREQUEST']._serialized_end=1571
64
- _globals['_GETSTATEHISTORYRESPONSE']._serialized_start=1573
65
- _globals['_GETSTATEHISTORYRESPONSE']._serialized_end=1637
66
- _globals['_LANGGRAPHRUNTIME']._serialized_start=1640
67
- _globals['_LANGGRAPHRUNTIME']._serialized_end=2053
47
+ _globals['_POSTGRESCHECKPOINTER']._serialized_end=410
48
+ _globals['_INVOKEREQUEST']._serialized_start=413
49
+ _globals['_INVOKEREQUEST']._serialized_end=620
50
+ _globals['_STREAMREQUEST']._serialized_start=623
51
+ _globals['_STREAMREQUEST']._serialized_end=830
52
+ _globals['_RUNOPTS']._serialized_start=833
53
+ _globals['_RUNOPTS']._serialized_end=1043
54
+ _globals['_CHUNKLIST']._serialized_start=1045
55
+ _globals['_CHUNKLIST']._serialized_end=1094
56
+ _globals['_OUTPUTCHUNK']._serialized_start=1097
57
+ _globals['_OUTPUTCHUNK']._serialized_end=1231
58
+ _globals['_GETSTATEREQUEST']._serialized_start=1233
59
+ _globals['_GETSTATEREQUEST']._serialized_end=1328
60
+ _globals['_GETSTATERESPONSE']._serialized_start=1330
61
+ _globals['_GETSTATERESPONSE']._serialized_end=1385
62
+ _globals['_GETSTATEHISTORYREQUEST']._serialized_start=1388
63
+ _globals['_GETSTATEHISTORYREQUEST']._serialized_end=1566
64
+ _globals['_GETSTATEHISTORYRESPONSE']._serialized_start=1568
65
+ _globals['_GETSTATEHISTORYRESPONSE']._serialized_end=1632
66
+ _globals['_LANGGRAPHRUNTIME']._serialized_start=1635
67
+ _globals['_LANGGRAPHRUNTIME']._serialized_end=2048
68
68
  # @@protoc_insertion_point(module_scope)
@@ -91,14 +91,14 @@ global___InMemoryCheckpointer = InMemoryCheckpointer
91
91
  class PostgresCheckpointer(google.protobuf.message.Message):
92
92
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
93
93
 
94
- CONNECTION_STRING_FIELD_NUMBER: builtins.int
95
- connection_string: builtins.str
94
+ DATABASE_URI_FIELD_NUMBER: builtins.int
95
+ database_uri: builtins.str
96
96
  def __init__(
97
97
  self,
98
98
  *,
99
- connection_string: builtins.str = ...,
99
+ database_uri: builtins.str = ...,
100
100
  ) -> None: ...
101
- def ClearField(self, field_name: typing.Literal["connection_string", b"connection_string"]) -> None: ...
101
+ def ClearField(self, field_name: typing.Literal["database_uri", b"database_uri"]) -> None: ...
102
102
 
103
103
  global___PostgresCheckpointer = PostgresCheckpointer
104
104
 
@@ -1,4 +1,5 @@
1
1
  import argparse
2
+ import asyncio
2
3
  import logging
3
4
  import os
4
5
  import pathlib
@@ -6,18 +7,13 @@ import signal
6
7
  import sys
7
8
  import time
8
9
  import uuid
9
- from concurrent import futures
10
10
 
11
- import grpc
12
11
  from langgraph.pregel import Pregel
13
12
 
14
- from langgraph_executor.executor import LangGraphExecutorServicer
13
+ from langgraph_executor.executor import create_server
15
14
  from langgraph_executor.info_logger import ExecutorInfo, ExecutorInfoLogger
16
- from langgraph_executor.pb.executor_pb2_grpc import (
17
- add_LangGraphExecutorServicer_to_server,
18
- )
19
15
 
20
- EXECUTOR_DEFAULT_PORT = 50052
16
+ DEFAULT_EXECUTOR_ADDRESS = "127.0.0.1:50052"
21
17
 
22
18
  EXECUTOR_INFO_FILE_NAME = "info.json"
23
19
 
@@ -43,7 +39,6 @@ def setup_server_logging(component_id: str, debug=False, color=YELLOW):
43
39
  root_logger = logging.getLogger()
44
40
  for handler in root_logger.handlers[:]:
45
41
  root_logger.removeHandler(handler)
46
-
47
42
  # Configure logging
48
43
  logging.basicConfig(
49
44
  level=level,
@@ -63,11 +58,11 @@ def setup_server_logging(component_id: str, debug=False, color=YELLOW):
63
58
  )
64
59
 
65
60
 
66
- def create_executor_info(port: int, id: str):
61
+ def create_executor_info(address: str, id: str):
67
62
  return ExecutorInfo(
68
63
  id=id,
69
64
  pid=os.getpid(),
70
- port=port,
65
+ address=address,
71
66
  start_time=time.time(),
72
67
  status="starting",
73
68
  error_message=None,
@@ -82,10 +77,11 @@ def signum_to_name(signum):
82
77
  return f"UNKNOWN_SIGNAL_{signum}"
83
78
 
84
79
 
85
- def serve(
80
+ async def serve(
86
81
  graphs: dict[str, Pregel],
87
- port: int,
88
- debug: bool,
82
+ *,
83
+ address: str = DEFAULT_EXECUTOR_ADDRESS,
84
+ debug: bool = False,
89
85
  id: str | None = None,
90
86
  log_dir: pathlib.Path | None = None,
91
87
  ):
@@ -107,16 +103,17 @@ def serve(
107
103
  log_dir or pathlib.Path(__file__).resolve().parent.parent / "logs",
108
104
  )
109
105
 
110
- server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
111
- add_LangGraphExecutorServicer_to_server(LangGraphExecutorServicer(graphs), server)
112
- port = server.add_insecure_port(f"[::]:{port}")
106
+ server = create_server(graphs, address)
113
107
 
114
- server.start()
108
+ await server.start()
109
+ loop = asyncio.get_event_loop()
115
110
 
116
111
  # Signal handler for graceful shutdown
117
112
  def signal_handler(signum, frame):
118
113
  logger.info(f"Received signal {signum_to_name(signum)}. Shutting down...")
119
- server.stop(5) # Give 5 seconds for graceful shutdown
114
+ asyncio.run_coroutine_threadsafe(
115
+ server.stop(5), loop
116
+ ) # Give 5 seconds for graceful shutdown
120
117
  info_logger.update_executor_info(
121
118
  executor_info.id,
122
119
  status="stopped",
@@ -130,16 +127,16 @@ def serve(
130
127
  signal.signal(signal.SIGINT, signal_handler)
131
128
  signal.signal(signal.SIGTERM, signal_handler)
132
129
 
133
- executor_info = create_executor_info(port, id_)
130
+ executor_info = create_executor_info(address, id_)
134
131
  info_logger.write_executor_info(executor_info)
135
132
 
136
133
  try:
137
134
  info_logger.update_executor_info(executor_info.id, status="running")
138
- logger.info("Listening...")
139
- server.wait_for_termination()
135
+ logger.info(f"Listening at address {address}...")
136
+ await server.wait_for_termination()
140
137
  except Exception as e:
141
138
  logger.exception("Unexpected error in executor")
142
- server.stop(0)
139
+ await server.stop(0)
143
140
  info_logger.update_executor_info(
144
141
  executor_info.id,
145
142
  status="error",
@@ -152,8 +149,8 @@ def serve(
152
149
  def main():
153
150
  """Start a LangGraph executor server."""
154
151
  parser = argparse.ArgumentParser()
155
- parser.add_argument("--port", type=int, default=EXECUTOR_DEFAULT_PORT)
156
- parser.add_argument("--debug", action="store_true")
152
+ parser.add_argument("--address", type=int, default=DEFAULT_EXECUTOR_ADDRESS)
153
+ parser.add_argument("--debug", action="store_false")
157
154
  parser.add_argument(
158
155
  "--log-dir",
159
156
  type=pathlib.Path,
@@ -179,7 +176,7 @@ def main():
179
176
  graphs = GRAPHS
180
177
 
181
178
  # serve
182
- serve(graphs, args.port, args.debug, log_dir=args.log_dir)
179
+ serve(graphs, address=args.address, debug=args.debug, log_dir=args.log_dir)
183
180
 
184
181
 
185
182
  if __name__ == "__main__":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-executor
3
- Version: 0.0.1a0
3
+ Version: 0.0.1a2
4
4
  Summary: LangGraph python RPC server executable by the langgraph-go orchestrator.
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: grpcio>=1.73.1
@@ -0,0 +1,32 @@
1
+ langgraph_executor/__init__.py,sha256=3EXaFnXv1z-8AVCGrDM9MpCrpg8I15YhcHCsHzX3iGI,24
2
+ langgraph_executor/common.py,sha256=w75Bqbrj5LOtiWoOOdIi45yVB05xYXDAnokwg7MgDQE,13688
3
+ langgraph_executor/example.py,sha256=TcfxgC9VfpZFliWnuVdJMllCDa8ji7vrSCRWnmdsUA8,900
4
+ langgraph_executor/execute_task.py,sha256=_m-WyVODhShI29qzkK0DXSPoTY4E_izbuaT7F_fVZVw,7262
5
+ langgraph_executor/executor.py,sha256=oUg6q8WWjAIwuh2ik76IbCPMKfmegT5ePZsWFnvR4WE,5296
6
+ langgraph_executor/executor_base.py,sha256=OpFhZNd-FehaTkSlnmD4bw9cAQ3FF8nWO9mim5YL0Cg,18509
7
+ langgraph_executor/extract_graph.py,sha256=f7NNeZigRQlTAYg_-mV8eBgQ9q8kuThCDwLjRO6wReQ,6365
8
+ langgraph_executor/info_logger.py,sha256=kgoVnMxm_aloHal89NHfH_Qb9eixrqD0dHmgnrm_vL4,3110
9
+ langgraph_executor/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ langgraph_executor/server.py,sha256=EVwZjsO2S0qhhU9C_4e85gfrxyOCo3H72bBi28vSFIw,5134
11
+ langgraph_executor/setup.sh,sha256=QI505EIya8sjEIohom6GDfFckFqOMF8bIEX-hSWcLUI,627
12
+ langgraph_executor/stream_utils.py,sha256=snxlEoZe0d4ae3h_6Ct3zNzLV_ugvPANcr4VECYofwk,2974
13
+ langgraph_executor/pb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ langgraph_executor/pb/executor_pb2.py,sha256=ny5SLOq4VqbZ-1XxPdytfi3Y-H5FuQwL4CK3fgMh_EI,8617
15
+ langgraph_executor/pb/executor_pb2.pyi,sha256=iVySzUzD9REkvJzet00YOL9Be3YCRizCqnsvGU_oYD4,18612
16
+ langgraph_executor/pb/executor_pb2_grpc.py,sha256=tsYWd0X0hmGPOO_Vf-4Pv0-vgMutzaTOTM_UnDjUeIc,13938
17
+ langgraph_executor/pb/executor_pb2_grpc.pyi,sha256=5ipWaunudj0rGP1yoRRf3V-2kjKiMkr4HHIuGqUa24s,5979
18
+ langgraph_executor/pb/graph_pb2.py,sha256=V4by2e0nEN-oF6AeX-SSzgN96d8BbE923p91Cp91UFQ,4021
19
+ langgraph_executor/pb/graph_pb2.pyi,sha256=xmhlJdwZ6g-ckwxjLKEIs7pJPiGIbin9m2rqdKMOWyI,9470
20
+ langgraph_executor/pb/graph_pb2_grpc.py,sha256=8j8j0GTUo21GL7RO-_UgVPN27DRnAfus0lhTWKI49no,886
21
+ langgraph_executor/pb/graph_pb2_grpc.pyi,sha256=Dl8kkjhqb6F1Kt24mcFg7ppish4iKVfjRiiBxEjsMMA,413
22
+ langgraph_executor/pb/runtime_pb2.py,sha256=o6g0hem5Izqslbgy4yQgVrxERaaUTrsOVZfLVD1W0zw,6443
23
+ langgraph_executor/pb/runtime_pb2.pyi,sha256=mcej7UAR7Pxpkl_3Pw4ENg3oGjln6L5-_XHqkpzZFoU,14373
24
+ langgraph_executor/pb/runtime_pb2_grpc.py,sha256=HKn8fgGT9zTDAS-ZGCk-1AO2QForvCZH_BVnufTS0sM,11791
25
+ langgraph_executor/pb/runtime_pb2_grpc.pyi,sha256=TeEHQYvJDdypawBFA6JP4OiQ9NFa_RNVKzGwHBSlFNs,4614
26
+ langgraph_executor/pb/types_pb2.py,sha256=rUboWBthlLM-iJOmZZta-HSekwTNFuXfWLaYHes1918,15570
27
+ langgraph_executor/pb/types_pb2.pyi,sha256=tBX4LzmfWZ-IYscIeAEBTDC02GWWKEAQVB2JPNHChDc,40957
28
+ langgraph_executor/pb/types_pb2_grpc.py,sha256=EPv87wCc-6BNJ2xTNcb9d3ictDerK5cBt7qhd7EmJiQ,886
29
+ langgraph_executor/pb/types_pb2_grpc.pyi,sha256=Dl8kkjhqb6F1Kt24mcFg7ppish4iKVfjRiiBxEjsMMA,413
30
+ langgraph_executor-0.0.1a2.dist-info/METADATA,sha256=-xr_G-Z1Huy6YMjYSJHYZZkPD_tu7Q-ZwDgLluOmkTo,433
31
+ langgraph_executor-0.0.1a2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
32
+ langgraph_executor-0.0.1a2.dist-info/RECORD,,
@@ -1,31 +0,0 @@
1
- langgraph_executor/__init__.py,sha256=508eDu4nPCyqYyg_NQBRjRZmK_68ggYywDmqDMXRF1I,24
2
- langgraph_executor/common.py,sha256=w75Bqbrj5LOtiWoOOdIi45yVB05xYXDAnokwg7MgDQE,13688
3
- langgraph_executor/example.py,sha256=TcfxgC9VfpZFliWnuVdJMllCDa8ji7vrSCRWnmdsUA8,900
4
- langgraph_executor/execute_task.py,sha256=DmsLHhkfhBYhZeHFq2eWHCkJuK9WfcDSkUQ8a0nwCB0,6932
5
- langgraph_executor/executor.py,sha256=9YI_-meJHz9ei9azWQjZGLzhgHDpa7Xj6Sb9HO01s_w,13242
6
- langgraph_executor/extract_graph.py,sha256=VlbQ6KausNd7ZPtivItMP1g4bYDwhZtttOHtbuFy4Hc,6407
7
- langgraph_executor/info_logger.py,sha256=BUcrg_nui_dN4JBUVyO7jurmCnt8gQ0TOubUNbyvYBk,3095
8
- langgraph_executor/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- langgraph_executor/server.py,sha256=avtZzStLiIDvNCKyytFU3E2Li1_TBgz5oyWUBRbPzFk,5200
10
- langgraph_executor/setup.sh,sha256=QI505EIya8sjEIohom6GDfFckFqOMF8bIEX-hSWcLUI,627
11
- langgraph_executor/stream_utils.py,sha256=snxlEoZe0d4ae3h_6Ct3zNzLV_ugvPANcr4VECYofwk,2974
12
- langgraph_executor/pb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- langgraph_executor/pb/executor_pb2.py,sha256=G9BI0TLB39yACBo2QX3eT0jDbeNFJyEY0IlGuOAeEH8,7783
14
- langgraph_executor/pb/executor_pb2.pyi,sha256=bW6TYrLG8SySVqx1ie-5igw2PEdvHiQLIvnyb59GATc,16575
15
- langgraph_executor/pb/executor_pb2_grpc.py,sha256=IvKDVBWxrWU7Rcntall4KAvpQ8CdLkbljKaCEloimQE,12224
16
- langgraph_executor/pb/executor_pb2_grpc.pyi,sha256=iGHLqEpl7FFrBvBmBfbacvl0YgtZf8dH5pBkAaB0d64,5270
17
- langgraph_executor/pb/graph_pb2.py,sha256=FyhQlHv1lIivUL_HoKVxB6x1oXxgdugV2bsKJd55A8o,4430
18
- langgraph_executor/pb/graph_pb2.pyi,sha256=inoFjgLD42hxkG1ORIU3Lrrk57ubdmZZtRw53JZUsGI,10161
19
- langgraph_executor/pb/graph_pb2_grpc.py,sha256=8j8j0GTUo21GL7RO-_UgVPN27DRnAfus0lhTWKI49no,886
20
- langgraph_executor/pb/graph_pb2_grpc.pyi,sha256=Dl8kkjhqb6F1Kt24mcFg7ppish4iKVfjRiiBxEjsMMA,413
21
- langgraph_executor/pb/runtime_pb2.py,sha256=tYVvki3PixSiXnrBh53izR9IynGJxtynKtkZs6Aoeu4,6445
22
- langgraph_executor/pb/runtime_pb2.pyi,sha256=QNkLw4OV3IJQjpX3j-t_s6_zkcxMyuYnJCwVPGaBcJ0,14398
23
- langgraph_executor/pb/runtime_pb2_grpc.py,sha256=HKn8fgGT9zTDAS-ZGCk-1AO2QForvCZH_BVnufTS0sM,11791
24
- langgraph_executor/pb/runtime_pb2_grpc.pyi,sha256=TeEHQYvJDdypawBFA6JP4OiQ9NFa_RNVKzGwHBSlFNs,4614
25
- langgraph_executor/pb/types_pb2.py,sha256=rUboWBthlLM-iJOmZZta-HSekwTNFuXfWLaYHes1918,15570
26
- langgraph_executor/pb/types_pb2.pyi,sha256=tBX4LzmfWZ-IYscIeAEBTDC02GWWKEAQVB2JPNHChDc,40957
27
- langgraph_executor/pb/types_pb2_grpc.py,sha256=EPv87wCc-6BNJ2xTNcb9d3ictDerK5cBt7qhd7EmJiQ,886
28
- langgraph_executor/pb/types_pb2_grpc.pyi,sha256=Dl8kkjhqb6F1Kt24mcFg7ppish4iKVfjRiiBxEjsMMA,413
29
- langgraph_executor-0.0.1a0.dist-info/METADATA,sha256=0v94S42MrwYAAitdIL1UfZGCHb5BVwtcDeFev_I8Ptk,433
30
- langgraph_executor-0.0.1a0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
31
- langgraph_executor-0.0.1a0.dist-info/RECORD,,