langgraph-api 0.5.4__py3-none-any.whl → 0.7.3__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.
Files changed (122) hide show
  1. langgraph_api/__init__.py +1 -1
  2. langgraph_api/api/__init__.py +93 -27
  3. langgraph_api/api/a2a.py +36 -32
  4. langgraph_api/api/assistants.py +114 -26
  5. langgraph_api/api/mcp.py +3 -3
  6. langgraph_api/api/meta.py +15 -2
  7. langgraph_api/api/openapi.py +27 -17
  8. langgraph_api/api/profile.py +108 -0
  9. langgraph_api/api/runs.py +114 -57
  10. langgraph_api/api/store.py +19 -2
  11. langgraph_api/api/threads.py +133 -10
  12. langgraph_api/asgi_transport.py +14 -9
  13. langgraph_api/auth/custom.py +23 -13
  14. langgraph_api/cli.py +86 -41
  15. langgraph_api/command.py +2 -2
  16. langgraph_api/config/__init__.py +532 -0
  17. langgraph_api/config/_parse.py +58 -0
  18. langgraph_api/config/schemas.py +431 -0
  19. langgraph_api/cron_scheduler.py +17 -1
  20. langgraph_api/encryption/__init__.py +15 -0
  21. langgraph_api/encryption/aes_json.py +158 -0
  22. langgraph_api/encryption/context.py +35 -0
  23. langgraph_api/encryption/custom.py +280 -0
  24. langgraph_api/encryption/middleware.py +632 -0
  25. langgraph_api/encryption/shared.py +63 -0
  26. langgraph_api/errors.py +12 -1
  27. langgraph_api/executor_entrypoint.py +11 -6
  28. langgraph_api/feature_flags.py +19 -0
  29. langgraph_api/graph.py +163 -64
  30. langgraph_api/{grpc_ops → grpc}/client.py +142 -12
  31. langgraph_api/{grpc_ops → grpc}/config_conversion.py +16 -10
  32. langgraph_api/grpc/generated/__init__.py +29 -0
  33. langgraph_api/grpc/generated/checkpointer_pb2.py +63 -0
  34. langgraph_api/grpc/generated/checkpointer_pb2.pyi +99 -0
  35. langgraph_api/grpc/generated/checkpointer_pb2_grpc.py +329 -0
  36. langgraph_api/grpc/generated/core_api_pb2.py +216 -0
  37. langgraph_api/{grpc_ops → grpc}/generated/core_api_pb2.pyi +292 -372
  38. langgraph_api/{grpc_ops → grpc}/generated/core_api_pb2_grpc.py +252 -31
  39. langgraph_api/grpc/generated/engine_common_pb2.py +219 -0
  40. langgraph_api/{grpc_ops → grpc}/generated/engine_common_pb2.pyi +178 -104
  41. langgraph_api/grpc/generated/enum_cancel_run_action_pb2.py +37 -0
  42. langgraph_api/grpc/generated/enum_cancel_run_action_pb2.pyi +12 -0
  43. langgraph_api/grpc/generated/enum_cancel_run_action_pb2_grpc.py +24 -0
  44. langgraph_api/grpc/generated/enum_control_signal_pb2.py +37 -0
  45. langgraph_api/grpc/generated/enum_control_signal_pb2.pyi +16 -0
  46. langgraph_api/grpc/generated/enum_control_signal_pb2_grpc.py +24 -0
  47. langgraph_api/grpc/generated/enum_durability_pb2.py +37 -0
  48. langgraph_api/grpc/generated/enum_durability_pb2.pyi +16 -0
  49. langgraph_api/grpc/generated/enum_durability_pb2_grpc.py +24 -0
  50. langgraph_api/grpc/generated/enum_multitask_strategy_pb2.py +37 -0
  51. langgraph_api/grpc/generated/enum_multitask_strategy_pb2.pyi +16 -0
  52. langgraph_api/grpc/generated/enum_multitask_strategy_pb2_grpc.py +24 -0
  53. langgraph_api/grpc/generated/enum_run_status_pb2.py +37 -0
  54. langgraph_api/grpc/generated/enum_run_status_pb2.pyi +22 -0
  55. langgraph_api/grpc/generated/enum_run_status_pb2_grpc.py +24 -0
  56. langgraph_api/grpc/generated/enum_stream_mode_pb2.py +37 -0
  57. langgraph_api/grpc/generated/enum_stream_mode_pb2.pyi +28 -0
  58. langgraph_api/grpc/generated/enum_stream_mode_pb2_grpc.py +24 -0
  59. langgraph_api/grpc/generated/enum_thread_status_pb2.py +37 -0
  60. langgraph_api/grpc/generated/enum_thread_status_pb2.pyi +16 -0
  61. langgraph_api/grpc/generated/enum_thread_status_pb2_grpc.py +24 -0
  62. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2.py +37 -0
  63. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2.pyi +16 -0
  64. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2_grpc.py +24 -0
  65. langgraph_api/grpc/generated/errors_pb2.py +39 -0
  66. langgraph_api/grpc/generated/errors_pb2.pyi +21 -0
  67. langgraph_api/grpc/generated/errors_pb2_grpc.py +24 -0
  68. langgraph_api/grpc/ops/__init__.py +370 -0
  69. langgraph_api/grpc/ops/assistants.py +424 -0
  70. langgraph_api/grpc/ops/runs.py +792 -0
  71. langgraph_api/grpc/ops/threads.py +1013 -0
  72. langgraph_api/http.py +16 -5
  73. langgraph_api/js/client.mts +1 -4
  74. langgraph_api/js/package.json +28 -27
  75. langgraph_api/js/remote.py +39 -17
  76. langgraph_api/js/sse.py +2 -2
  77. langgraph_api/js/ui.py +1 -1
  78. langgraph_api/js/yarn.lock +1139 -869
  79. langgraph_api/metadata.py +29 -3
  80. langgraph_api/middleware/http_logger.py +1 -1
  81. langgraph_api/middleware/private_network.py +7 -7
  82. langgraph_api/models/run.py +44 -26
  83. langgraph_api/otel_context.py +205 -0
  84. langgraph_api/patch.py +2 -2
  85. langgraph_api/queue_entrypoint.py +34 -35
  86. langgraph_api/route.py +33 -1
  87. langgraph_api/schema.py +84 -9
  88. langgraph_api/self_hosted_logs.py +2 -2
  89. langgraph_api/self_hosted_metrics.py +73 -3
  90. langgraph_api/serde.py +16 -4
  91. langgraph_api/server.py +33 -31
  92. langgraph_api/state.py +3 -2
  93. langgraph_api/store.py +25 -16
  94. langgraph_api/stream.py +20 -16
  95. langgraph_api/thread_ttl.py +28 -13
  96. langgraph_api/timing/__init__.py +25 -0
  97. langgraph_api/timing/profiler.py +200 -0
  98. langgraph_api/timing/timer.py +318 -0
  99. langgraph_api/utils/__init__.py +53 -8
  100. langgraph_api/utils/config.py +2 -1
  101. langgraph_api/utils/future.py +10 -6
  102. langgraph_api/utils/uuids.py +29 -62
  103. langgraph_api/validation.py +6 -0
  104. langgraph_api/webhook.py +120 -6
  105. langgraph_api/worker.py +54 -24
  106. {langgraph_api-0.5.4.dist-info → langgraph_api-0.7.3.dist-info}/METADATA +8 -6
  107. langgraph_api-0.7.3.dist-info/RECORD +168 -0
  108. {langgraph_api-0.5.4.dist-info → langgraph_api-0.7.3.dist-info}/WHEEL +1 -1
  109. langgraph_runtime/__init__.py +1 -0
  110. langgraph_runtime/routes.py +11 -0
  111. logging.json +1 -3
  112. openapi.json +635 -537
  113. langgraph_api/config.py +0 -523
  114. langgraph_api/grpc_ops/generated/__init__.py +0 -5
  115. langgraph_api/grpc_ops/generated/core_api_pb2.py +0 -275
  116. langgraph_api/grpc_ops/generated/engine_common_pb2.py +0 -194
  117. langgraph_api/grpc_ops/ops.py +0 -1045
  118. langgraph_api-0.5.4.dist-info/RECORD +0 -121
  119. /langgraph_api/{grpc_ops → grpc}/__init__.py +0 -0
  120. /langgraph_api/{grpc_ops → grpc}/generated/engine_common_pb2_grpc.py +0 -0
  121. {langgraph_api-0.5.4.dist-info → langgraph_api-0.7.3.dist-info}/entry_points.txt +0 -0
  122. {langgraph_api-0.5.4.dist-info → langgraph_api-0.7.3.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,7 @@
1
- from google.protobuf import struct_pb2 as _struct_pb2
2
1
  from google.protobuf import wrappers_pb2 as _wrappers_pb2
3
2
  from google.protobuf import empty_pb2 as _empty_pb2
3
+ from . import errors_pb2 as _errors_pb2
4
+ from . import enum_durability_pb2 as _enum_durability_pb2
4
5
  from google.protobuf.internal import containers as _containers
5
6
  from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
6
7
  from google.protobuf import descriptor as _descriptor
@@ -10,33 +11,6 @@ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
10
11
 
11
12
  DESCRIPTOR: _descriptor.FileDescriptor
12
13
 
13
- class Durability(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
14
- __slots__ = ()
15
- UNKNOWN: _ClassVar[Durability]
16
- ASYNC: _ClassVar[Durability]
17
- SYNC: _ClassVar[Durability]
18
- EXIT: _ClassVar[Durability]
19
- UNKNOWN: Durability
20
- ASYNC: Durability
21
- SYNC: Durability
22
- EXIT: Durability
23
-
24
- class Value(_message.Message):
25
- __slots__ = ("base_value", "sends", "missing", "command")
26
- BASE_VALUE_FIELD_NUMBER: _ClassVar[int]
27
- SENDS_FIELD_NUMBER: _ClassVar[int]
28
- MISSING_FIELD_NUMBER: _ClassVar[int]
29
- COMMAND_FIELD_NUMBER: _ClassVar[int]
30
- base_value: SerializedValue
31
- sends: Sends
32
- missing: Missing
33
- command: Command
34
- def __init__(self, base_value: _Optional[_Union[SerializedValue, _Mapping]] = ..., sends: _Optional[_Union[Sends, _Mapping]] = ..., missing: _Optional[_Union[Missing, _Mapping]] = ..., command: _Optional[_Union[Command, _Mapping]] = ...) -> None: ...
35
-
36
- class Missing(_message.Message):
37
- __slots__ = ()
38
- def __init__(self) -> None: ...
39
-
40
14
  class ChannelValue(_message.Message):
41
15
  __slots__ = ("serialized_value", "sends", "missing")
42
16
  SERIALIZED_VALUE_FIELD_NUMBER: _ClassVar[int]
@@ -95,10 +69,10 @@ class Channel(_message.Message):
95
69
  GET_RESULT_FIELD_NUMBER: _ClassVar[int]
96
70
  IS_AVAILABLE_RESULT_FIELD_NUMBER: _ClassVar[int]
97
71
  CHECKPOINT_RESULT_FIELD_NUMBER: _ClassVar[int]
98
- get_result: Value
72
+ get_result: ChannelValue
99
73
  is_available_result: bool
100
- checkpoint_result: Value
101
- def __init__(self, get_result: _Optional[_Union[Value, _Mapping]] = ..., is_available_result: bool = ..., checkpoint_result: _Optional[_Union[Value, _Mapping]] = ...) -> None: ...
74
+ checkpoint_result: ChannelValue
75
+ def __init__(self, get_result: _Optional[_Union[ChannelValue, _Mapping]] = ..., is_available_result: bool = ..., checkpoint_result: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
102
76
 
103
77
  class Sends(_message.Message):
104
78
  __slots__ = ("sends",)
@@ -166,15 +140,11 @@ class GraphBubbleUp(_message.Message):
166
140
  __slots__ = ()
167
141
  def __init__(self) -> None: ...
168
142
 
169
- class UserCodeExecutionError(_message.Message):
170
- __slots__ = ("error_type", "error_message", "traceback")
171
- ERROR_TYPE_FIELD_NUMBER: _ClassVar[int]
172
- ERROR_MESSAGE_FIELD_NUMBER: _ClassVar[int]
173
- TRACEBACK_FIELD_NUMBER: _ClassVar[int]
174
- error_type: str
175
- error_message: str
176
- traceback: str
177
- def __init__(self, error_type: _Optional[str] = ..., error_message: _Optional[str] = ..., traceback: _Optional[str] = ...) -> None: ...
143
+ class ParentCommand(_message.Message):
144
+ __slots__ = ("command",)
145
+ COMMAND_FIELD_NUMBER: _ClassVar[int]
146
+ command: Command
147
+ def __init__(self, command: _Optional[_Union[Command, _Mapping]] = ...) -> None: ...
178
148
 
179
149
  class GraphInterrupt(_message.Message):
180
150
  __slots__ = ("interrupts",)
@@ -190,21 +160,21 @@ class Interrupt(_message.Message):
190
160
  id: str
191
161
  def __init__(self, value: _Optional[_Union[SerializedValue, _Mapping]] = ..., id: _Optional[str] = ...) -> None: ...
192
162
 
193
- class WrappedInterrupt(_message.Message):
194
- __slots__ = ("interrupt", "serialized_interrupt")
195
- INTERRUPT_FIELD_NUMBER: _ClassVar[int]
196
- SERIALIZED_INTERRUPT_FIELD_NUMBER: _ClassVar[int]
197
- interrupt: Interrupt
198
- serialized_interrupt: SerializedValue
199
- def __init__(self, interrupt: _Optional[_Union[Interrupt, _Mapping]] = ..., serialized_interrupt: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
163
+ class WrappedInterrupts(_message.Message):
164
+ __slots__ = ("interrupts", "serialized_interrupts")
165
+ INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
166
+ SERIALIZED_INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
167
+ interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
168
+ serialized_interrupts: SerializedValue
169
+ def __init__(self, interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ..., serialized_interrupts: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
200
170
 
201
171
  class Write(_message.Message):
202
172
  __slots__ = ("channel", "value")
203
173
  CHANNEL_FIELD_NUMBER: _ClassVar[int]
204
174
  VALUE_FIELD_NUMBER: _ClassVar[int]
205
175
  channel: str
206
- value: Value
207
- def __init__(self, channel: _Optional[str] = ..., value: _Optional[_Union[Value, _Mapping]] = ...) -> None: ...
176
+ value: ChannelValue
177
+ def __init__(self, channel: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
208
178
 
209
179
  class PendingWrite(_message.Message):
210
180
  __slots__ = ("task_id", "channel", "value")
@@ -213,8 +183,8 @@ class PendingWrite(_message.Message):
213
183
  VALUE_FIELD_NUMBER: _ClassVar[int]
214
184
  task_id: str
215
185
  channel: str
216
- value: Value
217
- def __init__(self, task_id: _Optional[str] = ..., channel: _Optional[str] = ..., value: _Optional[_Union[Value, _Mapping]] = ...) -> None: ...
186
+ value: ChannelValue
187
+ def __init__(self, task_id: _Optional[str] = ..., channel: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
218
188
 
219
189
  class ChannelVersions(_message.Message):
220
190
  __slots__ = ("channel_versions",)
@@ -230,7 +200,7 @@ class ChannelVersions(_message.Message):
230
200
  def __init__(self, channel_versions: _Optional[_Mapping[str, str]] = ...) -> None: ...
231
201
 
232
202
  class EngineRunnableConfig(_message.Message):
233
- __slots__ = ("tags", "metadata_json", "run_name", "max_concurrency", "recursion_limit", "run_id", "extra_configurable_json", "extra_json", "runtime", "resuming", "task_id", "thread_id", "checkpoint_map", "checkpoint_id", "checkpoint_ns", "durability", "resume_map", "graph_id", "run_attempt", "server_run_id")
203
+ __slots__ = ("tags", "metadata_json", "run_name", "max_concurrency", "recursion_limit", "run_id", "extra_configurable_json", "extra_json", "runtime", "resuming", "task_id", "thread_id", "checkpoint_map", "checkpoint_id", "checkpoint_ns", "durability", "resume_map", "graph_id", "root_stream_modes", "run_attempt", "server_run_id")
234
204
  class MetadataJsonEntry(_message.Message):
235
205
  __slots__ = ("key", "value")
236
206
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -284,6 +254,7 @@ class EngineRunnableConfig(_message.Message):
284
254
  DURABILITY_FIELD_NUMBER: _ClassVar[int]
285
255
  RESUME_MAP_FIELD_NUMBER: _ClassVar[int]
286
256
  GRAPH_ID_FIELD_NUMBER: _ClassVar[int]
257
+ ROOT_STREAM_MODES_FIELD_NUMBER: _ClassVar[int]
287
258
  RUN_ATTEMPT_FIELD_NUMBER: _ClassVar[int]
288
259
  SERVER_RUN_ID_FIELD_NUMBER: _ClassVar[int]
289
260
  tags: _containers.RepeatedScalarFieldContainer[str]
@@ -301,81 +272,110 @@ class EngineRunnableConfig(_message.Message):
301
272
  checkpoint_map: _containers.ScalarMap[str, str]
302
273
  checkpoint_id: str
303
274
  checkpoint_ns: str
304
- durability: Durability
275
+ durability: _enum_durability_pb2.Durability
305
276
  resume_map: _containers.MessageMap[str, SerializedValue]
306
277
  graph_id: str
278
+ root_stream_modes: _containers.RepeatedScalarFieldContainer[str]
307
279
  run_attempt: int
308
280
  server_run_id: str
309
- def __init__(self, tags: _Optional[_Iterable[str]] = ..., metadata_json: _Optional[_Mapping[str, bytes]] = ..., run_name: _Optional[str] = ..., max_concurrency: _Optional[int] = ..., recursion_limit: _Optional[int] = ..., run_id: _Optional[str] = ..., extra_configurable_json: _Optional[_Mapping[str, bytes]] = ..., extra_json: _Optional[_Mapping[str, bytes]] = ..., runtime: _Optional[_Union[Runtime, _Mapping]] = ..., resuming: bool = ..., task_id: _Optional[str] = ..., thread_id: _Optional[str] = ..., checkpoint_map: _Optional[_Mapping[str, str]] = ..., checkpoint_id: _Optional[str] = ..., checkpoint_ns: _Optional[str] = ..., durability: _Optional[_Union[Durability, str]] = ..., resume_map: _Optional[_Mapping[str, SerializedValue]] = ..., graph_id: _Optional[str] = ..., run_attempt: _Optional[int] = ..., server_run_id: _Optional[str] = ...) -> None: ...
281
+ def __init__(self, tags: _Optional[_Iterable[str]] = ..., metadata_json: _Optional[_Mapping[str, bytes]] = ..., run_name: _Optional[str] = ..., max_concurrency: _Optional[int] = ..., recursion_limit: _Optional[int] = ..., run_id: _Optional[str] = ..., extra_configurable_json: _Optional[_Mapping[str, bytes]] = ..., extra_json: _Optional[_Mapping[str, bytes]] = ..., runtime: _Optional[_Union[Runtime, _Mapping]] = ..., resuming: bool = ..., task_id: _Optional[str] = ..., thread_id: _Optional[str] = ..., checkpoint_map: _Optional[_Mapping[str, str]] = ..., checkpoint_id: _Optional[str] = ..., checkpoint_ns: _Optional[str] = ..., durability: _Optional[_Union[_enum_durability_pb2.Durability, str]] = ..., resume_map: _Optional[_Mapping[str, SerializedValue]] = ..., graph_id: _Optional[str] = ..., root_stream_modes: _Optional[_Iterable[str]] = ..., run_attempt: _Optional[int] = ..., server_run_id: _Optional[str] = ...) -> None: ...
310
282
 
311
283
  class Runtime(_message.Message):
312
- __slots__ = ("langgraph_context_json",)
284
+ __slots__ = ("langgraph_context_json", "previous")
313
285
  LANGGRAPH_CONTEXT_JSON_FIELD_NUMBER: _ClassVar[int]
286
+ PREVIOUS_FIELD_NUMBER: _ClassVar[int]
314
287
  langgraph_context_json: bytes
315
- def __init__(self, langgraph_context_json: _Optional[bytes] = ...) -> None: ...
288
+ previous: ChannelValue
289
+ def __init__(self, langgraph_context_json: _Optional[bytes] = ..., previous: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
290
+
291
+ class Subgraph(_message.Message):
292
+ __slots__ = ("graph_id",)
293
+ GRAPH_ID_FIELD_NUMBER: _ClassVar[int]
294
+ graph_id: str
295
+ def __init__(self, graph_id: _Optional[str] = ...) -> None: ...
316
296
 
317
297
  class Task(_message.Message):
318
- __slots__ = ("name", "input", "writes", "config", "triggers", "id", "task_path", "writers", "graph_name", "pending_writes", "messages", "stream_subgraphs")
319
- class InputEntry(_message.Message):
320
- __slots__ = ("key", "value")
321
- KEY_FIELD_NUMBER: _ClassVar[int]
322
- VALUE_FIELD_NUMBER: _ClassVar[int]
323
- key: str
324
- value: Value
325
- def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Value, _Mapping]] = ...) -> None: ...
298
+ __slots__ = ("name", "writes", "config", "triggers", "id", "task_path", "pending_writes", "stream_subgraphs", "subgraph")
326
299
  NAME_FIELD_NUMBER: _ClassVar[int]
327
- INPUT_FIELD_NUMBER: _ClassVar[int]
328
300
  WRITES_FIELD_NUMBER: _ClassVar[int]
329
301
  CONFIG_FIELD_NUMBER: _ClassVar[int]
330
302
  TRIGGERS_FIELD_NUMBER: _ClassVar[int]
331
303
  ID_FIELD_NUMBER: _ClassVar[int]
332
304
  TASK_PATH_FIELD_NUMBER: _ClassVar[int]
333
- WRITERS_FIELD_NUMBER: _ClassVar[int]
334
- GRAPH_NAME_FIELD_NUMBER: _ClassVar[int]
335
305
  PENDING_WRITES_FIELD_NUMBER: _ClassVar[int]
336
- MESSAGES_FIELD_NUMBER: _ClassVar[int]
337
306
  STREAM_SUBGRAPHS_FIELD_NUMBER: _ClassVar[int]
307
+ SUBGRAPH_FIELD_NUMBER: _ClassVar[int]
338
308
  name: str
339
- input: _containers.MessageMap[str, Value]
340
309
  writes: _containers.RepeatedCompositeFieldContainer[Write]
341
310
  config: EngineRunnableConfig
342
311
  triggers: _containers.RepeatedScalarFieldContainer[str]
343
312
  id: str
344
313
  task_path: _containers.RepeatedCompositeFieldContainer[PathSegment]
345
- writers: _containers.RepeatedScalarFieldContainer[str]
346
- graph_name: str
347
314
  pending_writes: _containers.RepeatedCompositeFieldContainer[PendingWrite]
348
- messages: _containers.RepeatedCompositeFieldContainer[ChatMessageEnvelope]
349
315
  stream_subgraphs: bool
350
- def __init__(self, name: _Optional[str] = ..., input: _Optional[_Mapping[str, Value]] = ..., writes: _Optional[_Iterable[_Union[Write, _Mapping]]] = ..., config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., triggers: _Optional[_Iterable[str]] = ..., id: _Optional[str] = ..., task_path: _Optional[_Iterable[_Union[PathSegment, _Mapping]]] = ..., writers: _Optional[_Iterable[str]] = ..., graph_name: _Optional[str] = ..., pending_writes: _Optional[_Iterable[_Union[PendingWrite, _Mapping]]] = ..., messages: _Optional[_Iterable[_Union[ChatMessageEnvelope, _Mapping]]] = ..., stream_subgraphs: bool = ...) -> None: ...
316
+ subgraph: Subgraph
317
+ def __init__(self, name: _Optional[str] = ..., writes: _Optional[_Iterable[_Union[Write, _Mapping]]] = ..., config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., triggers: _Optional[_Iterable[str]] = ..., id: _Optional[str] = ..., task_path: _Optional[_Iterable[_Union[PathSegment, _Mapping]]] = ..., pending_writes: _Optional[_Iterable[_Union[PendingWrite, _Mapping]]] = ..., stream_subgraphs: bool = ..., subgraph: _Optional[_Union[Subgraph, _Mapping]] = ...) -> None: ...
318
+
319
+ class TaskResult(_message.Message):
320
+ __slots__ = ("user_error", "interrupts", "parent_command", "writes")
321
+ USER_ERROR_FIELD_NUMBER: _ClassVar[int]
322
+ INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
323
+ PARENT_COMMAND_FIELD_NUMBER: _ClassVar[int]
324
+ WRITES_FIELD_NUMBER: _ClassVar[int]
325
+ user_error: _errors_pb2.UserCodeExecutionError
326
+ interrupts: WrappedInterrupts
327
+ parent_command: ParentCommand
328
+ writes: _containers.RepeatedCompositeFieldContainer[Write]
329
+ def __init__(self, user_error: _Optional[_Union[_errors_pb2.UserCodeExecutionError, _Mapping]] = ..., interrupts: _Optional[_Union[WrappedInterrupts, _Mapping]] = ..., parent_command: _Optional[_Union[ParentCommand, _Mapping]] = ..., writes: _Optional[_Iterable[_Union[Write, _Mapping]]] = ...) -> None: ...
330
+
331
+ class CheckpointRef(_message.Message):
332
+ __slots__ = ("checkpoint_id", "thread_id", "checkpoint_ns", "checkpoint_map")
333
+ class CheckpointMapEntry(_message.Message):
334
+ __slots__ = ("key", "value")
335
+ KEY_FIELD_NUMBER: _ClassVar[int]
336
+ VALUE_FIELD_NUMBER: _ClassVar[int]
337
+ key: str
338
+ value: str
339
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
340
+ CHECKPOINT_ID_FIELD_NUMBER: _ClassVar[int]
341
+ THREAD_ID_FIELD_NUMBER: _ClassVar[int]
342
+ CHECKPOINT_NS_FIELD_NUMBER: _ClassVar[int]
343
+ CHECKPOINT_MAP_FIELD_NUMBER: _ClassVar[int]
344
+ checkpoint_id: str
345
+ thread_id: str
346
+ checkpoint_ns: str
347
+ checkpoint_map: _containers.ScalarMap[str, str]
348
+ def __init__(self, checkpoint_id: _Optional[str] = ..., thread_id: _Optional[str] = ..., checkpoint_ns: _Optional[str] = ..., checkpoint_map: _Optional[_Mapping[str, str]] = ...) -> None: ...
351
349
 
352
350
  class PregelTaskSnapshot(_message.Message):
353
- __slots__ = ("id", "name", "path", "interrupts", "state", "result", "error")
351
+ __slots__ = ("id", "name", "path", "interrupts", "result_json", "error", "checkpoint_ref", "state_snapshot")
354
352
  ID_FIELD_NUMBER: _ClassVar[int]
355
353
  NAME_FIELD_NUMBER: _ClassVar[int]
356
354
  PATH_FIELD_NUMBER: _ClassVar[int]
357
355
  INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
358
- STATE_FIELD_NUMBER: _ClassVar[int]
359
- RESULT_FIELD_NUMBER: _ClassVar[int]
356
+ RESULT_JSON_FIELD_NUMBER: _ClassVar[int]
360
357
  ERROR_FIELD_NUMBER: _ClassVar[int]
358
+ CHECKPOINT_REF_FIELD_NUMBER: _ClassVar[int]
359
+ STATE_SNAPSHOT_FIELD_NUMBER: _ClassVar[int]
361
360
  id: str
362
361
  name: str
363
362
  path: _containers.RepeatedCompositeFieldContainer[PathSegment]
364
363
  interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
365
- state: _struct_pb2.Struct
366
- result: _struct_pb2.Struct
364
+ result_json: bytes
367
365
  error: SerializedValue
368
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., path: _Optional[_Iterable[_Union[PathSegment, _Mapping]]] = ..., interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ..., state: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., result: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., error: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
366
+ checkpoint_ref: CheckpointRef
367
+ state_snapshot: StateSnapshot
368
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., path: _Optional[_Iterable[_Union[PathSegment, _Mapping]]] = ..., interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ..., result_json: _Optional[bytes] = ..., error: _Optional[_Union[SerializedValue, _Mapping]] = ..., checkpoint_ref: _Optional[_Union[CheckpointRef, _Mapping]] = ..., state_snapshot: _Optional[_Union[StateSnapshot, _Mapping]] = ...) -> None: ...
369
369
 
370
370
  class Checkpoint(_message.Message):
371
- __slots__ = ("v", "id", "channel_values", "channel_versions", "versions_seen", "ts")
371
+ __slots__ = ("v", "id", "channel_values", "channel_versions", "versions_seen", "ts", "updated_channels")
372
372
  class ChannelValuesEntry(_message.Message):
373
373
  __slots__ = ("key", "value")
374
374
  KEY_FIELD_NUMBER: _ClassVar[int]
375
375
  VALUE_FIELD_NUMBER: _ClassVar[int]
376
376
  key: str
377
- value: Value
378
- def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Value, _Mapping]] = ...) -> None: ...
377
+ value: ChannelValue
378
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
379
379
  class ChannelVersionsEntry(_message.Message):
380
380
  __slots__ = ("key", "value")
381
381
  KEY_FIELD_NUMBER: _ClassVar[int]
@@ -396,13 +396,15 @@ class Checkpoint(_message.Message):
396
396
  CHANNEL_VERSIONS_FIELD_NUMBER: _ClassVar[int]
397
397
  VERSIONS_SEEN_FIELD_NUMBER: _ClassVar[int]
398
398
  TS_FIELD_NUMBER: _ClassVar[int]
399
+ UPDATED_CHANNELS_FIELD_NUMBER: _ClassVar[int]
399
400
  v: int
400
401
  id: str
401
- channel_values: _containers.MessageMap[str, Value]
402
+ channel_values: _containers.MessageMap[str, ChannelValue]
402
403
  channel_versions: _containers.ScalarMap[str, str]
403
404
  versions_seen: _containers.MessageMap[str, ChannelVersions]
404
405
  ts: str
405
- def __init__(self, v: _Optional[int] = ..., id: _Optional[str] = ..., channel_values: _Optional[_Mapping[str, Value]] = ..., channel_versions: _Optional[_Mapping[str, str]] = ..., versions_seen: _Optional[_Mapping[str, ChannelVersions]] = ..., ts: _Optional[str] = ...) -> None: ...
406
+ updated_channels: _containers.RepeatedScalarFieldContainer[str]
407
+ def __init__(self, v: _Optional[int] = ..., id: _Optional[str] = ..., channel_values: _Optional[_Mapping[str, ChannelValue]] = ..., channel_versions: _Optional[_Mapping[str, str]] = ..., versions_seen: _Optional[_Mapping[str, ChannelVersions]] = ..., ts: _Optional[str] = ..., updated_channels: _Optional[_Iterable[str]] = ...) -> None: ...
406
408
 
407
409
  class CheckpointMetadata(_message.Message):
408
410
  __slots__ = ("source", "step", "parents", "run_id")
@@ -460,14 +462,14 @@ class Updates(_message.Message):
460
462
  def __init__(self, checkpoint: _Optional[_Union[Checkpoint, _Mapping]] = ..., channels: _Optional[_Union[Channels, _Mapping]] = ..., updated_channels: _Optional[_Iterable[str]] = ...) -> None: ...
461
463
 
462
464
  class ToolCall(_message.Message):
463
- __slots__ = ("name", "args", "id")
465
+ __slots__ = ("name", "args_json", "id")
464
466
  NAME_FIELD_NUMBER: _ClassVar[int]
465
- ARGS_FIELD_NUMBER: _ClassVar[int]
467
+ ARGS_JSON_FIELD_NUMBER: _ClassVar[int]
466
468
  ID_FIELD_NUMBER: _ClassVar[int]
467
469
  name: str
468
- args: _struct_pb2.Struct
470
+ args_json: bytes
469
471
  id: _wrappers_pb2.StringValue
470
- def __init__(self, name: _Optional[str] = ..., args: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
472
+ def __init__(self, name: _Optional[str] = ..., args_json: _Optional[bytes] = ..., id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
471
473
 
472
474
  class ToolCallChunk(_message.Message):
473
475
  __slots__ = ("name", "args_json", "id", "index")
@@ -527,40 +529,97 @@ class UsageMetadata(_message.Message):
527
529
 
528
530
  class ResponseMetadata(_message.Message):
529
531
  __slots__ = ("data",)
532
+ class DataEntry(_message.Message):
533
+ __slots__ = ("key", "value")
534
+ KEY_FIELD_NUMBER: _ClassVar[int]
535
+ VALUE_FIELD_NUMBER: _ClassVar[int]
536
+ key: str
537
+ value: bytes
538
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
530
539
  DATA_FIELD_NUMBER: _ClassVar[int]
531
- data: _struct_pb2.Struct
532
- def __init__(self, data: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
540
+ data: _containers.ScalarMap[str, bytes]
541
+ def __init__(self, data: _Optional[_Mapping[str, bytes]] = ...) -> None: ...
533
542
 
534
543
  class AIFields(_message.Message):
535
- __slots__ = ("usage_metadata", "response_metadata", "tool_calls", "tool_call_chunks", "invalid_tool_calls", "reasoning_content")
544
+ __slots__ = ("usage_metadata", "response_metadata", "tool_calls", "tool_call_chunks", "invalid_tool_calls", "chunk_position", "reasoning_content")
536
545
  USAGE_METADATA_FIELD_NUMBER: _ClassVar[int]
537
546
  RESPONSE_METADATA_FIELD_NUMBER: _ClassVar[int]
538
547
  TOOL_CALLS_FIELD_NUMBER: _ClassVar[int]
539
548
  TOOL_CALL_CHUNKS_FIELD_NUMBER: _ClassVar[int]
540
549
  INVALID_TOOL_CALLS_FIELD_NUMBER: _ClassVar[int]
550
+ CHUNK_POSITION_FIELD_NUMBER: _ClassVar[int]
541
551
  REASONING_CONTENT_FIELD_NUMBER: _ClassVar[int]
542
552
  usage_metadata: UsageMetadata
543
553
  response_metadata: ResponseMetadata
544
554
  tool_calls: _containers.RepeatedCompositeFieldContainer[ToolCall]
545
555
  tool_call_chunks: _containers.RepeatedCompositeFieldContainer[ToolCallChunk]
546
556
  invalid_tool_calls: _containers.RepeatedCompositeFieldContainer[InvalidToolCall]
557
+ chunk_position: str
547
558
  reasoning_content: _wrappers_pb2.StringValue
548
- def __init__(self, usage_metadata: _Optional[_Union[UsageMetadata, _Mapping]] = ..., response_metadata: _Optional[_Union[ResponseMetadata, _Mapping]] = ..., tool_calls: _Optional[_Iterable[_Union[ToolCall, _Mapping]]] = ..., tool_call_chunks: _Optional[_Iterable[_Union[ToolCallChunk, _Mapping]]] = ..., invalid_tool_calls: _Optional[_Iterable[_Union[InvalidToolCall, _Mapping]]] = ..., reasoning_content: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
559
+ def __init__(self, usage_metadata: _Optional[_Union[UsageMetadata, _Mapping]] = ..., response_metadata: _Optional[_Union[ResponseMetadata, _Mapping]] = ..., tool_calls: _Optional[_Iterable[_Union[ToolCall, _Mapping]]] = ..., tool_call_chunks: _Optional[_Iterable[_Union[ToolCallChunk, _Mapping]]] = ..., invalid_tool_calls: _Optional[_Iterable[_Union[InvalidToolCall, _Mapping]]] = ..., chunk_position: _Optional[str] = ..., reasoning_content: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
549
560
 
550
561
  class ToolFields(_message.Message):
551
- __slots__ = ("tool_call_id", "status")
562
+ __slots__ = ("tool_call_id", "status", "artifact")
552
563
  TOOL_CALL_ID_FIELD_NUMBER: _ClassVar[int]
553
564
  STATUS_FIELD_NUMBER: _ClassVar[int]
565
+ ARTIFACT_FIELD_NUMBER: _ClassVar[int]
554
566
  tool_call_id: _wrappers_pb2.StringValue
555
567
  status: str
556
- def __init__(self, tool_call_id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., status: _Optional[str] = ...) -> None: ...
568
+ artifact: SerializedValue
569
+ def __init__(self, tool_call_id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., status: _Optional[str] = ..., artifact: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
557
570
 
558
571
  class HumanFields(_message.Message):
559
572
  __slots__ = ()
560
573
  def __init__(self) -> None: ...
561
574
 
575
+ class Content(_message.Message):
576
+ __slots__ = ("text", "blocks")
577
+ TEXT_FIELD_NUMBER: _ClassVar[int]
578
+ BLOCKS_FIELD_NUMBER: _ClassVar[int]
579
+ text: str
580
+ blocks: ContentBlocks
581
+ def __init__(self, text: _Optional[str] = ..., blocks: _Optional[_Union[ContentBlocks, _Mapping]] = ...) -> None: ...
582
+
583
+ class ContentBlocks(_message.Message):
584
+ __slots__ = ("items",)
585
+ ITEMS_FIELD_NUMBER: _ClassVar[int]
586
+ items: _containers.RepeatedCompositeFieldContainer[ContentBlock]
587
+ def __init__(self, items: _Optional[_Iterable[_Union[ContentBlock, _Mapping]]] = ...) -> None: ...
588
+
589
+ class ContentBlock(_message.Message):
590
+ __slots__ = ("text", "structured")
591
+ TEXT_FIELD_NUMBER: _ClassVar[int]
592
+ STRUCTURED_FIELD_NUMBER: _ClassVar[int]
593
+ text: str
594
+ structured: StructuredBlock
595
+ def __init__(self, text: _Optional[str] = ..., structured: _Optional[_Union[StructuredBlock, _Mapping]] = ...) -> None: ...
596
+
597
+ class StructuredBlock(_message.Message):
598
+ __slots__ = ("index", "type", "data_json")
599
+ INDEX_FIELD_NUMBER: _ClassVar[int]
600
+ TYPE_FIELD_NUMBER: _ClassVar[int]
601
+ DATA_JSON_FIELD_NUMBER: _ClassVar[int]
602
+ index: int
603
+ type: str
604
+ data_json: bytes
605
+ def __init__(self, index: _Optional[int] = ..., type: _Optional[str] = ..., data_json: _Optional[bytes] = ...) -> None: ...
606
+
562
607
  class ChatMessage(_message.Message):
563
608
  __slots__ = ("id", "name", "type", "content", "additional_kwargs", "ai", "tool", "human", "extensions")
609
+ class AdditionalKwargsEntry(_message.Message):
610
+ __slots__ = ("key", "value")
611
+ KEY_FIELD_NUMBER: _ClassVar[int]
612
+ VALUE_FIELD_NUMBER: _ClassVar[int]
613
+ key: str
614
+ value: bytes
615
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
616
+ class ExtensionsEntry(_message.Message):
617
+ __slots__ = ("key", "value")
618
+ KEY_FIELD_NUMBER: _ClassVar[int]
619
+ VALUE_FIELD_NUMBER: _ClassVar[int]
620
+ key: str
621
+ value: bytes
622
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
564
623
  ID_FIELD_NUMBER: _ClassVar[int]
565
624
  NAME_FIELD_NUMBER: _ClassVar[int]
566
625
  TYPE_FIELD_NUMBER: _ClassVar[int]
@@ -573,29 +632,31 @@ class ChatMessage(_message.Message):
573
632
  id: str
574
633
  name: str
575
634
  type: str
576
- content: _struct_pb2.Value
577
- additional_kwargs: _struct_pb2.Struct
635
+ content: Content
636
+ additional_kwargs: _containers.ScalarMap[str, bytes]
578
637
  ai: AIFields
579
638
  tool: ToolFields
580
639
  human: HumanFields
581
- extensions: _struct_pb2.Struct
582
- def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[str] = ..., content: _Optional[_Union[_struct_pb2.Value, _Mapping]] = ..., additional_kwargs: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., ai: _Optional[_Union[AIFields, _Mapping]] = ..., tool: _Optional[_Union[ToolFields, _Mapping]] = ..., human: _Optional[_Union[HumanFields, _Mapping]] = ..., extensions: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ...) -> None: ...
640
+ extensions: _containers.ScalarMap[str, bytes]
641
+ def __init__(self, id: _Optional[str] = ..., name: _Optional[str] = ..., type: _Optional[str] = ..., content: _Optional[_Union[Content, _Mapping]] = ..., additional_kwargs: _Optional[_Mapping[str, bytes]] = ..., ai: _Optional[_Union[AIFields, _Mapping]] = ..., tool: _Optional[_Union[ToolFields, _Mapping]] = ..., human: _Optional[_Union[HumanFields, _Mapping]] = ..., extensions: _Optional[_Mapping[str, bytes]] = ...) -> None: ...
583
642
 
584
643
  class ChatMessageEnvelope(_message.Message):
585
- __slots__ = ("is_streaming_chunk", "namespace", "message", "metadata")
644
+ __slots__ = ("is_streaming_chunk", "namespace", "message", "metadata", "node_name")
586
645
  IS_STREAMING_CHUNK_FIELD_NUMBER: _ClassVar[int]
587
646
  NAMESPACE_FIELD_NUMBER: _ClassVar[int]
588
647
  MESSAGE_FIELD_NUMBER: _ClassVar[int]
589
648
  METADATA_FIELD_NUMBER: _ClassVar[int]
649
+ NODE_NAME_FIELD_NUMBER: _ClassVar[int]
590
650
  is_streaming_chunk: bool
591
651
  namespace: _containers.RepeatedScalarFieldContainer[str]
592
652
  message: ChatMessage
593
653
  metadata: bytes
594
- def __init__(self, is_streaming_chunk: bool = ..., namespace: _Optional[_Iterable[str]] = ..., message: _Optional[_Union[ChatMessage, _Mapping]] = ..., metadata: _Optional[bytes] = ...) -> None: ...
654
+ node_name: str
655
+ def __init__(self, is_streaming_chunk: bool = ..., namespace: _Optional[_Iterable[str]] = ..., message: _Optional[_Union[ChatMessage, _Mapping]] = ..., metadata: _Optional[bytes] = ..., node_name: _Optional[str] = ...) -> None: ...
595
656
 
596
657
  class StateSnapshot(_message.Message):
597
- __slots__ = ("values", "next", "config", "metadata", "created_at", "parent_config", "tasks", "interrupts")
598
- VALUES_FIELD_NUMBER: _ClassVar[int]
658
+ __slots__ = ("values_json", "next", "config", "metadata", "created_at", "parent_config", "tasks", "interrupts")
659
+ VALUES_JSON_FIELD_NUMBER: _ClassVar[int]
599
660
  NEXT_FIELD_NUMBER: _ClassVar[int]
600
661
  CONFIG_FIELD_NUMBER: _ClassVar[int]
601
662
  METADATA_FIELD_NUMBER: _ClassVar[int]
@@ -603,7 +664,7 @@ class StateSnapshot(_message.Message):
603
664
  PARENT_CONFIG_FIELD_NUMBER: _ClassVar[int]
604
665
  TASKS_FIELD_NUMBER: _ClassVar[int]
605
666
  INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
606
- values: _struct_pb2.Struct
667
+ values_json: bytes
607
668
  next: _containers.RepeatedScalarFieldContainer[str]
608
669
  config: EngineRunnableConfig
609
670
  metadata: CheckpointMetadata
@@ -611,7 +672,7 @@ class StateSnapshot(_message.Message):
611
672
  parent_config: EngineRunnableConfig
612
673
  tasks: _containers.RepeatedCompositeFieldContainer[PregelTaskSnapshot]
613
674
  interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
614
- def __init__(self, values: _Optional[_Union[_struct_pb2.Struct, _Mapping]] = ..., next: _Optional[_Iterable[str]] = ..., config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., metadata: _Optional[_Union[CheckpointMetadata, _Mapping]] = ..., created_at: _Optional[str] = ..., parent_config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., tasks: _Optional[_Iterable[_Union[PregelTaskSnapshot, _Mapping]]] = ..., interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ...) -> None: ...
675
+ def __init__(self, values_json: _Optional[bytes] = ..., next: _Optional[_Iterable[str]] = ..., config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., metadata: _Optional[_Union[CheckpointMetadata, _Mapping]] = ..., created_at: _Optional[str] = ..., parent_config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., tasks: _Optional[_Iterable[_Union[PregelTaskSnapshot, _Mapping]]] = ..., interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ...) -> None: ...
615
676
 
616
677
  class StateUpdate(_message.Message):
617
678
  __slots__ = ("values", "as_node", "task_id")
@@ -646,3 +707,16 @@ class PathSegment(_message.Message):
646
707
  int_value: int
647
708
  bool_value: bool
648
709
  def __init__(self, string_value: _Optional[str] = ..., int_value: _Optional[int] = ..., bool_value: bool = ...) -> None: ...
710
+
711
+ class StaticInterruptConfig(_message.Message):
712
+ __slots__ = ("all", "node_names")
713
+ class NodeNames(_message.Message):
714
+ __slots__ = ("names",)
715
+ NAMES_FIELD_NUMBER: _ClassVar[int]
716
+ names: _containers.RepeatedScalarFieldContainer[str]
717
+ def __init__(self, names: _Optional[_Iterable[str]] = ...) -> None: ...
718
+ ALL_FIELD_NUMBER: _ClassVar[int]
719
+ NODE_NAMES_FIELD_NUMBER: _ClassVar[int]
720
+ all: bool
721
+ node_names: StaticInterruptConfig.NodeNames
722
+ def __init__(self, all: bool = ..., node_names: _Optional[_Union[StaticInterruptConfig.NodeNames, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,37 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: enum_cancel_run_action.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'enum_cancel_run_action.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x65num_cancel_run_action.proto\x12\x13\x65numCancelRunAction*.\n\x0f\x43\x61ncelRunAction\x12\r\n\tinterrupt\x10\x00\x12\x0c\n\x08rollback\x10\x01\x42;Z9github.com/langchain-ai/langgraph-api/core/internal/enumsb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'enum_cancel_run_action_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/langchain-ai/langgraph-api/core/internal/enums'
35
+ _globals['_CANCELRUNACTION']._serialized_start=53
36
+ _globals['_CANCELRUNACTION']._serialized_end=99
37
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,12 @@
1
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
+ from google.protobuf import descriptor as _descriptor
3
+ from typing import ClassVar as _ClassVar
4
+
5
+ DESCRIPTOR: _descriptor.FileDescriptor
6
+
7
+ class CancelRunAction(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
8
+ __slots__ = ()
9
+ interrupt: _ClassVar[CancelRunAction]
10
+ rollback: _ClassVar[CancelRunAction]
11
+ interrupt: CancelRunAction
12
+ rollback: CancelRunAction
@@ -0,0 +1,24 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+
7
+ GRPC_GENERATED_VERSION = '1.75.1'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in enum_cancel_run_action_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )
@@ -0,0 +1,37 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: enum_control_signal.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'enum_control_signal.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+
26
+
27
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x65num_control_signal.proto\x12\x11\x65numControlSignal*C\n\rControlSignal\x12\x0b\n\x07unknown\x10\x00\x12\r\n\tinterrupt\x10\x01\x12\x0c\n\x08rollback\x10\x02\x12\x08\n\x04\x64one\x10\x03\x42;Z9github.com/langchain-ai/langgraph-api/core/internal/enumsb\x06proto3')
28
+
29
+ _globals = globals()
30
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'enum_control_signal_pb2', _globals)
32
+ if not _descriptor._USE_C_DESCRIPTORS:
33
+ _globals['DESCRIPTOR']._loaded_options = None
34
+ _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/langchain-ai/langgraph-api/core/internal/enums'
35
+ _globals['_CONTROLSIGNAL']._serialized_start=48
36
+ _globals['_CONTROLSIGNAL']._serialized_end=115
37
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,16 @@
1
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
2
+ from google.protobuf import descriptor as _descriptor
3
+ from typing import ClassVar as _ClassVar
4
+
5
+ DESCRIPTOR: _descriptor.FileDescriptor
6
+
7
+ class ControlSignal(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
8
+ __slots__ = ()
9
+ unknown: _ClassVar[ControlSignal]
10
+ interrupt: _ClassVar[ControlSignal]
11
+ rollback: _ClassVar[ControlSignal]
12
+ done: _ClassVar[ControlSignal]
13
+ unknown: ControlSignal
14
+ interrupt: ControlSignal
15
+ rollback: ControlSignal
16
+ done: ControlSignal
@@ -0,0 +1,24 @@
1
+ # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
+ """Client and server classes corresponding to protobuf-defined services."""
3
+ import grpc
4
+ import warnings
5
+
6
+
7
+ GRPC_GENERATED_VERSION = '1.75.1'
8
+ GRPC_VERSION = grpc.__version__
9
+ _version_not_supported = False
10
+
11
+ try:
12
+ from grpc._utilities import first_version_is_lower
13
+ _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
14
+ except ImportError:
15
+ _version_not_supported = True
16
+
17
+ if _version_not_supported:
18
+ raise RuntimeError(
19
+ f'The grpc package installed is at version {GRPC_VERSION},'
20
+ + f' but the generated code in enum_control_signal_pb2_grpc.py depends on'
21
+ + f' grpcio>={GRPC_GENERATED_VERSION}.'
22
+ + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
23
+ + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
24
+ )