langgraph-api 0.4.1__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 (135) hide show
  1. langgraph_api/__init__.py +1 -1
  2. langgraph_api/api/__init__.py +111 -51
  3. langgraph_api/api/a2a.py +1610 -0
  4. langgraph_api/api/assistants.py +212 -89
  5. langgraph_api/api/mcp.py +3 -3
  6. langgraph_api/api/meta.py +52 -28
  7. langgraph_api/api/openapi.py +27 -17
  8. langgraph_api/api/profile.py +108 -0
  9. langgraph_api/api/runs.py +342 -195
  10. langgraph_api/api/store.py +19 -2
  11. langgraph_api/api/threads.py +209 -27
  12. langgraph_api/asgi_transport.py +14 -9
  13. langgraph_api/asyncio.py +14 -4
  14. langgraph_api/auth/custom.py +52 -37
  15. langgraph_api/auth/langsmith/backend.py +4 -3
  16. langgraph_api/auth/langsmith/client.py +13 -8
  17. langgraph_api/cli.py +230 -133
  18. langgraph_api/command.py +5 -3
  19. langgraph_api/config/__init__.py +532 -0
  20. langgraph_api/config/_parse.py +58 -0
  21. langgraph_api/config/schemas.py +431 -0
  22. langgraph_api/cron_scheduler.py +17 -1
  23. langgraph_api/encryption/__init__.py +15 -0
  24. langgraph_api/encryption/aes_json.py +158 -0
  25. langgraph_api/encryption/context.py +35 -0
  26. langgraph_api/encryption/custom.py +280 -0
  27. langgraph_api/encryption/middleware.py +632 -0
  28. langgraph_api/encryption/shared.py +63 -0
  29. langgraph_api/errors.py +12 -1
  30. langgraph_api/executor_entrypoint.py +11 -6
  31. langgraph_api/feature_flags.py +29 -0
  32. langgraph_api/graph.py +176 -76
  33. langgraph_api/grpc/client.py +313 -0
  34. langgraph_api/grpc/config_conversion.py +231 -0
  35. langgraph_api/grpc/generated/__init__.py +29 -0
  36. langgraph_api/grpc/generated/checkpointer_pb2.py +63 -0
  37. langgraph_api/grpc/generated/checkpointer_pb2.pyi +99 -0
  38. langgraph_api/grpc/generated/checkpointer_pb2_grpc.py +329 -0
  39. langgraph_api/grpc/generated/core_api_pb2.py +216 -0
  40. langgraph_api/grpc/generated/core_api_pb2.pyi +905 -0
  41. langgraph_api/grpc/generated/core_api_pb2_grpc.py +1621 -0
  42. langgraph_api/grpc/generated/engine_common_pb2.py +219 -0
  43. langgraph_api/grpc/generated/engine_common_pb2.pyi +722 -0
  44. langgraph_api/grpc/generated/engine_common_pb2_grpc.py +24 -0
  45. langgraph_api/grpc/generated/enum_cancel_run_action_pb2.py +37 -0
  46. langgraph_api/grpc/generated/enum_cancel_run_action_pb2.pyi +12 -0
  47. langgraph_api/grpc/generated/enum_cancel_run_action_pb2_grpc.py +24 -0
  48. langgraph_api/grpc/generated/enum_control_signal_pb2.py +37 -0
  49. langgraph_api/grpc/generated/enum_control_signal_pb2.pyi +16 -0
  50. langgraph_api/grpc/generated/enum_control_signal_pb2_grpc.py +24 -0
  51. langgraph_api/grpc/generated/enum_durability_pb2.py +37 -0
  52. langgraph_api/grpc/generated/enum_durability_pb2.pyi +16 -0
  53. langgraph_api/grpc/generated/enum_durability_pb2_grpc.py +24 -0
  54. langgraph_api/grpc/generated/enum_multitask_strategy_pb2.py +37 -0
  55. langgraph_api/grpc/generated/enum_multitask_strategy_pb2.pyi +16 -0
  56. langgraph_api/grpc/generated/enum_multitask_strategy_pb2_grpc.py +24 -0
  57. langgraph_api/grpc/generated/enum_run_status_pb2.py +37 -0
  58. langgraph_api/grpc/generated/enum_run_status_pb2.pyi +22 -0
  59. langgraph_api/grpc/generated/enum_run_status_pb2_grpc.py +24 -0
  60. langgraph_api/grpc/generated/enum_stream_mode_pb2.py +37 -0
  61. langgraph_api/grpc/generated/enum_stream_mode_pb2.pyi +28 -0
  62. langgraph_api/grpc/generated/enum_stream_mode_pb2_grpc.py +24 -0
  63. langgraph_api/grpc/generated/enum_thread_status_pb2.py +37 -0
  64. langgraph_api/grpc/generated/enum_thread_status_pb2.pyi +16 -0
  65. langgraph_api/grpc/generated/enum_thread_status_pb2_grpc.py +24 -0
  66. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2.py +37 -0
  67. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2.pyi +16 -0
  68. langgraph_api/grpc/generated/enum_thread_stream_mode_pb2_grpc.py +24 -0
  69. langgraph_api/grpc/generated/errors_pb2.py +39 -0
  70. langgraph_api/grpc/generated/errors_pb2.pyi +21 -0
  71. langgraph_api/grpc/generated/errors_pb2_grpc.py +24 -0
  72. langgraph_api/grpc/ops/__init__.py +370 -0
  73. langgraph_api/grpc/ops/assistants.py +424 -0
  74. langgraph_api/grpc/ops/runs.py +792 -0
  75. langgraph_api/grpc/ops/threads.py +1013 -0
  76. langgraph_api/http.py +16 -5
  77. langgraph_api/http_metrics.py +15 -35
  78. langgraph_api/http_metrics_utils.py +38 -0
  79. langgraph_api/js/build.mts +1 -1
  80. langgraph_api/js/client.http.mts +13 -7
  81. langgraph_api/js/client.mts +2 -5
  82. langgraph_api/js/package.json +29 -28
  83. langgraph_api/js/remote.py +56 -30
  84. langgraph_api/js/src/graph.mts +20 -0
  85. langgraph_api/js/sse.py +2 -2
  86. langgraph_api/js/ui.py +1 -1
  87. langgraph_api/js/yarn.lock +1204 -1006
  88. langgraph_api/logging.py +29 -2
  89. langgraph_api/metadata.py +99 -28
  90. langgraph_api/middleware/http_logger.py +7 -2
  91. langgraph_api/middleware/private_network.py +7 -7
  92. langgraph_api/models/run.py +54 -93
  93. langgraph_api/otel_context.py +205 -0
  94. langgraph_api/patch.py +5 -3
  95. langgraph_api/queue_entrypoint.py +154 -65
  96. langgraph_api/route.py +47 -5
  97. langgraph_api/schema.py +88 -10
  98. langgraph_api/self_hosted_logs.py +124 -0
  99. langgraph_api/self_hosted_metrics.py +450 -0
  100. langgraph_api/serde.py +79 -37
  101. langgraph_api/server.py +138 -60
  102. langgraph_api/state.py +4 -3
  103. langgraph_api/store.py +25 -16
  104. langgraph_api/stream.py +80 -29
  105. langgraph_api/thread_ttl.py +31 -13
  106. langgraph_api/timing/__init__.py +25 -0
  107. langgraph_api/timing/profiler.py +200 -0
  108. langgraph_api/timing/timer.py +318 -0
  109. langgraph_api/utils/__init__.py +53 -8
  110. langgraph_api/utils/cache.py +47 -10
  111. langgraph_api/utils/config.py +2 -1
  112. langgraph_api/utils/errors.py +77 -0
  113. langgraph_api/utils/future.py +10 -6
  114. langgraph_api/utils/headers.py +76 -2
  115. langgraph_api/utils/retriable_client.py +74 -0
  116. langgraph_api/utils/stream_codec.py +315 -0
  117. langgraph_api/utils/uuids.py +29 -62
  118. langgraph_api/validation.py +9 -0
  119. langgraph_api/webhook.py +120 -6
  120. langgraph_api/worker.py +55 -24
  121. {langgraph_api-0.4.1.dist-info → langgraph_api-0.7.3.dist-info}/METADATA +16 -8
  122. langgraph_api-0.7.3.dist-info/RECORD +168 -0
  123. {langgraph_api-0.4.1.dist-info → langgraph_api-0.7.3.dist-info}/WHEEL +1 -1
  124. langgraph_runtime/__init__.py +1 -0
  125. langgraph_runtime/routes.py +11 -0
  126. logging.json +1 -3
  127. openapi.json +839 -478
  128. langgraph_api/config.py +0 -387
  129. langgraph_api/js/isolate-0x130008000-46649-46649-v8.log +0 -4430
  130. langgraph_api/js/isolate-0x138008000-44681-44681-v8.log +0 -4430
  131. langgraph_api/js/package-lock.json +0 -3308
  132. langgraph_api-0.4.1.dist-info/RECORD +0 -107
  133. /langgraph_api/{utils.py → grpc/__init__.py} +0 -0
  134. {langgraph_api-0.4.1.dist-info → langgraph_api-0.7.3.dist-info}/entry_points.txt +0 -0
  135. {langgraph_api-0.4.1.dist-info → langgraph_api-0.7.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,722 @@
1
+ from google.protobuf import wrappers_pb2 as _wrappers_pb2
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
5
+ from google.protobuf.internal import containers as _containers
6
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import message as _message
9
+ from collections.abc import Iterable as _Iterable, Mapping as _Mapping
10
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class ChannelValue(_message.Message):
15
+ __slots__ = ("serialized_value", "sends", "missing")
16
+ SERIALIZED_VALUE_FIELD_NUMBER: _ClassVar[int]
17
+ SENDS_FIELD_NUMBER: _ClassVar[int]
18
+ MISSING_FIELD_NUMBER: _ClassVar[int]
19
+ serialized_value: SerializedValue
20
+ sends: Sends
21
+ missing: _empty_pb2.Empty
22
+ def __init__(self, serialized_value: _Optional[_Union[SerializedValue, _Mapping]] = ..., sends: _Optional[_Union[Sends, _Mapping]] = ..., missing: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ...) -> None: ...
23
+
24
+ class SerializedValue(_message.Message):
25
+ __slots__ = ("encoding", "value")
26
+ ENCODING_FIELD_NUMBER: _ClassVar[int]
27
+ VALUE_FIELD_NUMBER: _ClassVar[int]
28
+ encoding: str
29
+ value: bytes
30
+ def __init__(self, encoding: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
31
+
32
+ class ResponseChunk(_message.Message):
33
+ __slots__ = ("namespaces", "mode", "payload")
34
+ NAMESPACES_FIELD_NUMBER: _ClassVar[int]
35
+ MODE_FIELD_NUMBER: _ClassVar[int]
36
+ PAYLOAD_FIELD_NUMBER: _ClassVar[int]
37
+ namespaces: _containers.RepeatedScalarFieldContainer[str]
38
+ mode: str
39
+ payload: SerializedValue
40
+ def __init__(self, namespaces: _Optional[_Iterable[str]] = ..., mode: _Optional[str] = ..., payload: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
41
+
42
+ class ResponseChunkList(_message.Message):
43
+ __slots__ = ("responses",)
44
+ RESPONSES_FIELD_NUMBER: _ClassVar[int]
45
+ responses: _containers.RepeatedCompositeFieldContainer[ResponseChunk]
46
+ def __init__(self, responses: _Optional[_Iterable[_Union[ResponseChunk, _Mapping]]] = ...) -> None: ...
47
+
48
+ class MessageIds(_message.Message):
49
+ __slots__ = ("message_ids",)
50
+ MESSAGE_IDS_FIELD_NUMBER: _ClassVar[int]
51
+ message_ids: _containers.RepeatedScalarFieldContainer[str]
52
+ def __init__(self, message_ids: _Optional[_Iterable[str]] = ...) -> None: ...
53
+
54
+ class Channels(_message.Message):
55
+ __slots__ = ("channels",)
56
+ class ChannelsEntry(_message.Message):
57
+ __slots__ = ("key", "value")
58
+ KEY_FIELD_NUMBER: _ClassVar[int]
59
+ VALUE_FIELD_NUMBER: _ClassVar[int]
60
+ key: str
61
+ value: Channel
62
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[Channel, _Mapping]] = ...) -> None: ...
63
+ CHANNELS_FIELD_NUMBER: _ClassVar[int]
64
+ channels: _containers.MessageMap[str, Channel]
65
+ def __init__(self, channels: _Optional[_Mapping[str, Channel]] = ...) -> None: ...
66
+
67
+ class Channel(_message.Message):
68
+ __slots__ = ("get_result", "is_available_result", "checkpoint_result")
69
+ GET_RESULT_FIELD_NUMBER: _ClassVar[int]
70
+ IS_AVAILABLE_RESULT_FIELD_NUMBER: _ClassVar[int]
71
+ CHECKPOINT_RESULT_FIELD_NUMBER: _ClassVar[int]
72
+ get_result: ChannelValue
73
+ is_available_result: bool
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: ...
76
+
77
+ class Sends(_message.Message):
78
+ __slots__ = ("sends",)
79
+ SENDS_FIELD_NUMBER: _ClassVar[int]
80
+ sends: _containers.RepeatedCompositeFieldContainer[Send]
81
+ def __init__(self, sends: _Optional[_Iterable[_Union[Send, _Mapping]]] = ...) -> None: ...
82
+
83
+ class Send(_message.Message):
84
+ __slots__ = ("node", "arg")
85
+ NODE_FIELD_NUMBER: _ClassVar[int]
86
+ ARG_FIELD_NUMBER: _ClassVar[int]
87
+ node: str
88
+ arg: SerializedValue
89
+ def __init__(self, node: _Optional[str] = ..., arg: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
90
+
91
+ class Command(_message.Message):
92
+ __slots__ = ("graph", "update", "resume", "gotos")
93
+ class UpdateEntry(_message.Message):
94
+ __slots__ = ("key", "value")
95
+ KEY_FIELD_NUMBER: _ClassVar[int]
96
+ VALUE_FIELD_NUMBER: _ClassVar[int]
97
+ key: str
98
+ value: SerializedValue
99
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
100
+ GRAPH_FIELD_NUMBER: _ClassVar[int]
101
+ UPDATE_FIELD_NUMBER: _ClassVar[int]
102
+ RESUME_FIELD_NUMBER: _ClassVar[int]
103
+ GOTOS_FIELD_NUMBER: _ClassVar[int]
104
+ graph: str
105
+ update: _containers.MessageMap[str, SerializedValue]
106
+ resume: Resume
107
+ gotos: _containers.RepeatedCompositeFieldContainer[Goto]
108
+ def __init__(self, graph: _Optional[str] = ..., update: _Optional[_Mapping[str, SerializedValue]] = ..., resume: _Optional[_Union[Resume, _Mapping]] = ..., gotos: _Optional[_Iterable[_Union[Goto, _Mapping]]] = ...) -> None: ...
109
+
110
+ class Resume(_message.Message):
111
+ __slots__ = ("value", "values")
112
+ VALUE_FIELD_NUMBER: _ClassVar[int]
113
+ VALUES_FIELD_NUMBER: _ClassVar[int]
114
+ value: SerializedValue
115
+ values: InterruptValues
116
+ def __init__(self, value: _Optional[_Union[SerializedValue, _Mapping]] = ..., values: _Optional[_Union[InterruptValues, _Mapping]] = ...) -> None: ...
117
+
118
+ class InterruptValues(_message.Message):
119
+ __slots__ = ("values",)
120
+ class ValuesEntry(_message.Message):
121
+ __slots__ = ("key", "value")
122
+ KEY_FIELD_NUMBER: _ClassVar[int]
123
+ VALUE_FIELD_NUMBER: _ClassVar[int]
124
+ key: str
125
+ value: SerializedValue
126
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
127
+ VALUES_FIELD_NUMBER: _ClassVar[int]
128
+ values: _containers.MessageMap[str, SerializedValue]
129
+ def __init__(self, values: _Optional[_Mapping[str, SerializedValue]] = ...) -> None: ...
130
+
131
+ class Goto(_message.Message):
132
+ __slots__ = ("node_name", "send")
133
+ NODE_NAME_FIELD_NUMBER: _ClassVar[int]
134
+ SEND_FIELD_NUMBER: _ClassVar[int]
135
+ node_name: str
136
+ send: Send
137
+ def __init__(self, node_name: _Optional[str] = ..., send: _Optional[_Union[Send, _Mapping]] = ...) -> None: ...
138
+
139
+ class GraphBubbleUp(_message.Message):
140
+ __slots__ = ()
141
+ def __init__(self) -> None: ...
142
+
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: ...
148
+
149
+ class GraphInterrupt(_message.Message):
150
+ __slots__ = ("interrupts",)
151
+ INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
152
+ interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
153
+ def __init__(self, interrupts: _Optional[_Iterable[_Union[Interrupt, _Mapping]]] = ...) -> None: ...
154
+
155
+ class Interrupt(_message.Message):
156
+ __slots__ = ("value", "id")
157
+ VALUE_FIELD_NUMBER: _ClassVar[int]
158
+ ID_FIELD_NUMBER: _ClassVar[int]
159
+ value: SerializedValue
160
+ id: str
161
+ def __init__(self, value: _Optional[_Union[SerializedValue, _Mapping]] = ..., id: _Optional[str] = ...) -> None: ...
162
+
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: ...
170
+
171
+ class Write(_message.Message):
172
+ __slots__ = ("channel", "value")
173
+ CHANNEL_FIELD_NUMBER: _ClassVar[int]
174
+ VALUE_FIELD_NUMBER: _ClassVar[int]
175
+ channel: str
176
+ value: ChannelValue
177
+ def __init__(self, channel: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
178
+
179
+ class PendingWrite(_message.Message):
180
+ __slots__ = ("task_id", "channel", "value")
181
+ TASK_ID_FIELD_NUMBER: _ClassVar[int]
182
+ CHANNEL_FIELD_NUMBER: _ClassVar[int]
183
+ VALUE_FIELD_NUMBER: _ClassVar[int]
184
+ task_id: str
185
+ channel: str
186
+ value: ChannelValue
187
+ def __init__(self, task_id: _Optional[str] = ..., channel: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
188
+
189
+ class ChannelVersions(_message.Message):
190
+ __slots__ = ("channel_versions",)
191
+ class ChannelVersionsEntry(_message.Message):
192
+ __slots__ = ("key", "value")
193
+ KEY_FIELD_NUMBER: _ClassVar[int]
194
+ VALUE_FIELD_NUMBER: _ClassVar[int]
195
+ key: str
196
+ value: str
197
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
198
+ CHANNEL_VERSIONS_FIELD_NUMBER: _ClassVar[int]
199
+ channel_versions: _containers.ScalarMap[str, str]
200
+ def __init__(self, channel_versions: _Optional[_Mapping[str, str]] = ...) -> None: ...
201
+
202
+ class EngineRunnableConfig(_message.Message):
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")
204
+ class MetadataJsonEntry(_message.Message):
205
+ __slots__ = ("key", "value")
206
+ KEY_FIELD_NUMBER: _ClassVar[int]
207
+ VALUE_FIELD_NUMBER: _ClassVar[int]
208
+ key: str
209
+ value: bytes
210
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
211
+ class ExtraConfigurableJsonEntry(_message.Message):
212
+ __slots__ = ("key", "value")
213
+ KEY_FIELD_NUMBER: _ClassVar[int]
214
+ VALUE_FIELD_NUMBER: _ClassVar[int]
215
+ key: str
216
+ value: bytes
217
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
218
+ class ExtraJsonEntry(_message.Message):
219
+ __slots__ = ("key", "value")
220
+ KEY_FIELD_NUMBER: _ClassVar[int]
221
+ VALUE_FIELD_NUMBER: _ClassVar[int]
222
+ key: str
223
+ value: bytes
224
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[bytes] = ...) -> None: ...
225
+ class CheckpointMapEntry(_message.Message):
226
+ __slots__ = ("key", "value")
227
+ KEY_FIELD_NUMBER: _ClassVar[int]
228
+ VALUE_FIELD_NUMBER: _ClassVar[int]
229
+ key: str
230
+ value: str
231
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
232
+ class ResumeMapEntry(_message.Message):
233
+ __slots__ = ("key", "value")
234
+ KEY_FIELD_NUMBER: _ClassVar[int]
235
+ VALUE_FIELD_NUMBER: _ClassVar[int]
236
+ key: str
237
+ value: SerializedValue
238
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[SerializedValue, _Mapping]] = ...) -> None: ...
239
+ TAGS_FIELD_NUMBER: _ClassVar[int]
240
+ METADATA_JSON_FIELD_NUMBER: _ClassVar[int]
241
+ RUN_NAME_FIELD_NUMBER: _ClassVar[int]
242
+ MAX_CONCURRENCY_FIELD_NUMBER: _ClassVar[int]
243
+ RECURSION_LIMIT_FIELD_NUMBER: _ClassVar[int]
244
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
245
+ EXTRA_CONFIGURABLE_JSON_FIELD_NUMBER: _ClassVar[int]
246
+ EXTRA_JSON_FIELD_NUMBER: _ClassVar[int]
247
+ RUNTIME_FIELD_NUMBER: _ClassVar[int]
248
+ RESUMING_FIELD_NUMBER: _ClassVar[int]
249
+ TASK_ID_FIELD_NUMBER: _ClassVar[int]
250
+ THREAD_ID_FIELD_NUMBER: _ClassVar[int]
251
+ CHECKPOINT_MAP_FIELD_NUMBER: _ClassVar[int]
252
+ CHECKPOINT_ID_FIELD_NUMBER: _ClassVar[int]
253
+ CHECKPOINT_NS_FIELD_NUMBER: _ClassVar[int]
254
+ DURABILITY_FIELD_NUMBER: _ClassVar[int]
255
+ RESUME_MAP_FIELD_NUMBER: _ClassVar[int]
256
+ GRAPH_ID_FIELD_NUMBER: _ClassVar[int]
257
+ ROOT_STREAM_MODES_FIELD_NUMBER: _ClassVar[int]
258
+ RUN_ATTEMPT_FIELD_NUMBER: _ClassVar[int]
259
+ SERVER_RUN_ID_FIELD_NUMBER: _ClassVar[int]
260
+ tags: _containers.RepeatedScalarFieldContainer[str]
261
+ metadata_json: _containers.ScalarMap[str, bytes]
262
+ run_name: str
263
+ max_concurrency: int
264
+ recursion_limit: int
265
+ run_id: str
266
+ extra_configurable_json: _containers.ScalarMap[str, bytes]
267
+ extra_json: _containers.ScalarMap[str, bytes]
268
+ runtime: Runtime
269
+ resuming: bool
270
+ task_id: str
271
+ thread_id: str
272
+ checkpoint_map: _containers.ScalarMap[str, str]
273
+ checkpoint_id: str
274
+ checkpoint_ns: str
275
+ durability: _enum_durability_pb2.Durability
276
+ resume_map: _containers.MessageMap[str, SerializedValue]
277
+ graph_id: str
278
+ root_stream_modes: _containers.RepeatedScalarFieldContainer[str]
279
+ run_attempt: int
280
+ server_run_id: str
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: ...
282
+
283
+ class Runtime(_message.Message):
284
+ __slots__ = ("langgraph_context_json", "previous")
285
+ LANGGRAPH_CONTEXT_JSON_FIELD_NUMBER: _ClassVar[int]
286
+ PREVIOUS_FIELD_NUMBER: _ClassVar[int]
287
+ langgraph_context_json: bytes
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: ...
296
+
297
+ class Task(_message.Message):
298
+ __slots__ = ("name", "writes", "config", "triggers", "id", "task_path", "pending_writes", "stream_subgraphs", "subgraph")
299
+ NAME_FIELD_NUMBER: _ClassVar[int]
300
+ WRITES_FIELD_NUMBER: _ClassVar[int]
301
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
302
+ TRIGGERS_FIELD_NUMBER: _ClassVar[int]
303
+ ID_FIELD_NUMBER: _ClassVar[int]
304
+ TASK_PATH_FIELD_NUMBER: _ClassVar[int]
305
+ PENDING_WRITES_FIELD_NUMBER: _ClassVar[int]
306
+ STREAM_SUBGRAPHS_FIELD_NUMBER: _ClassVar[int]
307
+ SUBGRAPH_FIELD_NUMBER: _ClassVar[int]
308
+ name: str
309
+ writes: _containers.RepeatedCompositeFieldContainer[Write]
310
+ config: EngineRunnableConfig
311
+ triggers: _containers.RepeatedScalarFieldContainer[str]
312
+ id: str
313
+ task_path: _containers.RepeatedCompositeFieldContainer[PathSegment]
314
+ pending_writes: _containers.RepeatedCompositeFieldContainer[PendingWrite]
315
+ stream_subgraphs: bool
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: ...
349
+
350
+ class PregelTaskSnapshot(_message.Message):
351
+ __slots__ = ("id", "name", "path", "interrupts", "result_json", "error", "checkpoint_ref", "state_snapshot")
352
+ ID_FIELD_NUMBER: _ClassVar[int]
353
+ NAME_FIELD_NUMBER: _ClassVar[int]
354
+ PATH_FIELD_NUMBER: _ClassVar[int]
355
+ INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
356
+ RESULT_JSON_FIELD_NUMBER: _ClassVar[int]
357
+ ERROR_FIELD_NUMBER: _ClassVar[int]
358
+ CHECKPOINT_REF_FIELD_NUMBER: _ClassVar[int]
359
+ STATE_SNAPSHOT_FIELD_NUMBER: _ClassVar[int]
360
+ id: str
361
+ name: str
362
+ path: _containers.RepeatedCompositeFieldContainer[PathSegment]
363
+ interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
364
+ result_json: bytes
365
+ error: SerializedValue
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
+
370
+ class Checkpoint(_message.Message):
371
+ __slots__ = ("v", "id", "channel_values", "channel_versions", "versions_seen", "ts", "updated_channels")
372
+ class ChannelValuesEntry(_message.Message):
373
+ __slots__ = ("key", "value")
374
+ KEY_FIELD_NUMBER: _ClassVar[int]
375
+ VALUE_FIELD_NUMBER: _ClassVar[int]
376
+ key: str
377
+ value: ChannelValue
378
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[ChannelValue, _Mapping]] = ...) -> None: ...
379
+ class ChannelVersionsEntry(_message.Message):
380
+ __slots__ = ("key", "value")
381
+ KEY_FIELD_NUMBER: _ClassVar[int]
382
+ VALUE_FIELD_NUMBER: _ClassVar[int]
383
+ key: str
384
+ value: str
385
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
386
+ class VersionsSeenEntry(_message.Message):
387
+ __slots__ = ("key", "value")
388
+ KEY_FIELD_NUMBER: _ClassVar[int]
389
+ VALUE_FIELD_NUMBER: _ClassVar[int]
390
+ key: str
391
+ value: ChannelVersions
392
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[_Union[ChannelVersions, _Mapping]] = ...) -> None: ...
393
+ V_FIELD_NUMBER: _ClassVar[int]
394
+ ID_FIELD_NUMBER: _ClassVar[int]
395
+ CHANNEL_VALUES_FIELD_NUMBER: _ClassVar[int]
396
+ CHANNEL_VERSIONS_FIELD_NUMBER: _ClassVar[int]
397
+ VERSIONS_SEEN_FIELD_NUMBER: _ClassVar[int]
398
+ TS_FIELD_NUMBER: _ClassVar[int]
399
+ UPDATED_CHANNELS_FIELD_NUMBER: _ClassVar[int]
400
+ v: int
401
+ id: str
402
+ channel_values: _containers.MessageMap[str, ChannelValue]
403
+ channel_versions: _containers.ScalarMap[str, str]
404
+ versions_seen: _containers.MessageMap[str, ChannelVersions]
405
+ ts: str
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: ...
408
+
409
+ class CheckpointMetadata(_message.Message):
410
+ __slots__ = ("source", "step", "parents", "run_id")
411
+ class CheckpointSource(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
412
+ __slots__ = ()
413
+ unknown: _ClassVar[CheckpointMetadata.CheckpointSource]
414
+ loop: _ClassVar[CheckpointMetadata.CheckpointSource]
415
+ input: _ClassVar[CheckpointMetadata.CheckpointSource]
416
+ update: _ClassVar[CheckpointMetadata.CheckpointSource]
417
+ fork: _ClassVar[CheckpointMetadata.CheckpointSource]
418
+ unknown: CheckpointMetadata.CheckpointSource
419
+ loop: CheckpointMetadata.CheckpointSource
420
+ input: CheckpointMetadata.CheckpointSource
421
+ update: CheckpointMetadata.CheckpointSource
422
+ fork: CheckpointMetadata.CheckpointSource
423
+ class ParentsEntry(_message.Message):
424
+ __slots__ = ("key", "value")
425
+ KEY_FIELD_NUMBER: _ClassVar[int]
426
+ VALUE_FIELD_NUMBER: _ClassVar[int]
427
+ key: str
428
+ value: str
429
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
430
+ SOURCE_FIELD_NUMBER: _ClassVar[int]
431
+ STEP_FIELD_NUMBER: _ClassVar[int]
432
+ PARENTS_FIELD_NUMBER: _ClassVar[int]
433
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
434
+ source: CheckpointMetadata.CheckpointSource
435
+ step: int
436
+ parents: _containers.ScalarMap[str, str]
437
+ run_id: str
438
+ def __init__(self, source: _Optional[_Union[CheckpointMetadata.CheckpointSource, str]] = ..., step: _Optional[int] = ..., parents: _Optional[_Mapping[str, str]] = ..., run_id: _Optional[str] = ...) -> None: ...
439
+
440
+ class CheckpointTuple(_message.Message):
441
+ __slots__ = ("config", "checkpoint", "metadata", "parent_config", "pending_writes")
442
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
443
+ CHECKPOINT_FIELD_NUMBER: _ClassVar[int]
444
+ METADATA_FIELD_NUMBER: _ClassVar[int]
445
+ PARENT_CONFIG_FIELD_NUMBER: _ClassVar[int]
446
+ PENDING_WRITES_FIELD_NUMBER: _ClassVar[int]
447
+ config: EngineRunnableConfig
448
+ checkpoint: Checkpoint
449
+ metadata: CheckpointMetadata
450
+ parent_config: EngineRunnableConfig
451
+ pending_writes: _containers.RepeatedCompositeFieldContainer[PendingWrite]
452
+ def __init__(self, config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., checkpoint: _Optional[_Union[Checkpoint, _Mapping]] = ..., metadata: _Optional[_Union[CheckpointMetadata, _Mapping]] = ..., parent_config: _Optional[_Union[EngineRunnableConfig, _Mapping]] = ..., pending_writes: _Optional[_Iterable[_Union[PendingWrite, _Mapping]]] = ...) -> None: ...
453
+
454
+ class Updates(_message.Message):
455
+ __slots__ = ("checkpoint", "channels", "updated_channels")
456
+ CHECKPOINT_FIELD_NUMBER: _ClassVar[int]
457
+ CHANNELS_FIELD_NUMBER: _ClassVar[int]
458
+ UPDATED_CHANNELS_FIELD_NUMBER: _ClassVar[int]
459
+ checkpoint: Checkpoint
460
+ channels: Channels
461
+ updated_channels: _containers.RepeatedScalarFieldContainer[str]
462
+ def __init__(self, checkpoint: _Optional[_Union[Checkpoint, _Mapping]] = ..., channels: _Optional[_Union[Channels, _Mapping]] = ..., updated_channels: _Optional[_Iterable[str]] = ...) -> None: ...
463
+
464
+ class ToolCall(_message.Message):
465
+ __slots__ = ("name", "args_json", "id")
466
+ NAME_FIELD_NUMBER: _ClassVar[int]
467
+ ARGS_JSON_FIELD_NUMBER: _ClassVar[int]
468
+ ID_FIELD_NUMBER: _ClassVar[int]
469
+ name: str
470
+ args_json: bytes
471
+ id: _wrappers_pb2.StringValue
472
+ def __init__(self, name: _Optional[str] = ..., args_json: _Optional[bytes] = ..., id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
473
+
474
+ class ToolCallChunk(_message.Message):
475
+ __slots__ = ("name", "args_json", "id", "index")
476
+ NAME_FIELD_NUMBER: _ClassVar[int]
477
+ ARGS_JSON_FIELD_NUMBER: _ClassVar[int]
478
+ ID_FIELD_NUMBER: _ClassVar[int]
479
+ INDEX_FIELD_NUMBER: _ClassVar[int]
480
+ name: _wrappers_pb2.StringValue
481
+ args_json: _wrappers_pb2.StringValue
482
+ id: _wrappers_pb2.StringValue
483
+ index: _wrappers_pb2.Int32Value
484
+ def __init__(self, name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., args_json: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., index: _Optional[_Union[_wrappers_pb2.Int32Value, _Mapping]] = ...) -> None: ...
485
+
486
+ class InvalidToolCall(_message.Message):
487
+ __slots__ = ("name", "args", "id", "error")
488
+ NAME_FIELD_NUMBER: _ClassVar[int]
489
+ ARGS_FIELD_NUMBER: _ClassVar[int]
490
+ ID_FIELD_NUMBER: _ClassVar[int]
491
+ ERROR_FIELD_NUMBER: _ClassVar[int]
492
+ name: _wrappers_pb2.StringValue
493
+ args: _wrappers_pb2.StringValue
494
+ id: _wrappers_pb2.StringValue
495
+ error: _wrappers_pb2.StringValue
496
+ def __init__(self, name: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., args: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., id: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ..., error: _Optional[_Union[_wrappers_pb2.StringValue, _Mapping]] = ...) -> None: ...
497
+
498
+ class InputTokenDetails(_message.Message):
499
+ __slots__ = ("audio", "cache_creation", "cache_read")
500
+ AUDIO_FIELD_NUMBER: _ClassVar[int]
501
+ CACHE_CREATION_FIELD_NUMBER: _ClassVar[int]
502
+ CACHE_READ_FIELD_NUMBER: _ClassVar[int]
503
+ audio: _wrappers_pb2.Int64Value
504
+ cache_creation: _wrappers_pb2.Int64Value
505
+ cache_read: _wrappers_pb2.Int64Value
506
+ def __init__(self, audio: _Optional[_Union[_wrappers_pb2.Int64Value, _Mapping]] = ..., cache_creation: _Optional[_Union[_wrappers_pb2.Int64Value, _Mapping]] = ..., cache_read: _Optional[_Union[_wrappers_pb2.Int64Value, _Mapping]] = ...) -> None: ...
507
+
508
+ class OutputTokenDetails(_message.Message):
509
+ __slots__ = ("audio", "reasoning")
510
+ AUDIO_FIELD_NUMBER: _ClassVar[int]
511
+ REASONING_FIELD_NUMBER: _ClassVar[int]
512
+ audio: _wrappers_pb2.Int64Value
513
+ reasoning: _wrappers_pb2.Int64Value
514
+ def __init__(self, audio: _Optional[_Union[_wrappers_pb2.Int64Value, _Mapping]] = ..., reasoning: _Optional[_Union[_wrappers_pb2.Int64Value, _Mapping]] = ...) -> None: ...
515
+
516
+ class UsageMetadata(_message.Message):
517
+ __slots__ = ("input_tokens", "output_tokens", "total_tokens", "input_token_details", "output_token_details")
518
+ INPUT_TOKENS_FIELD_NUMBER: _ClassVar[int]
519
+ OUTPUT_TOKENS_FIELD_NUMBER: _ClassVar[int]
520
+ TOTAL_TOKENS_FIELD_NUMBER: _ClassVar[int]
521
+ INPUT_TOKEN_DETAILS_FIELD_NUMBER: _ClassVar[int]
522
+ OUTPUT_TOKEN_DETAILS_FIELD_NUMBER: _ClassVar[int]
523
+ input_tokens: int
524
+ output_tokens: int
525
+ total_tokens: int
526
+ input_token_details: InputTokenDetails
527
+ output_token_details: OutputTokenDetails
528
+ def __init__(self, input_tokens: _Optional[int] = ..., output_tokens: _Optional[int] = ..., total_tokens: _Optional[int] = ..., input_token_details: _Optional[_Union[InputTokenDetails, _Mapping]] = ..., output_token_details: _Optional[_Union[OutputTokenDetails, _Mapping]] = ...) -> None: ...
529
+
530
+ class ResponseMetadata(_message.Message):
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: ...
539
+ DATA_FIELD_NUMBER: _ClassVar[int]
540
+ data: _containers.ScalarMap[str, bytes]
541
+ def __init__(self, data: _Optional[_Mapping[str, bytes]] = ...) -> None: ...
542
+
543
+ class AIFields(_message.Message):
544
+ __slots__ = ("usage_metadata", "response_metadata", "tool_calls", "tool_call_chunks", "invalid_tool_calls", "chunk_position", "reasoning_content")
545
+ USAGE_METADATA_FIELD_NUMBER: _ClassVar[int]
546
+ RESPONSE_METADATA_FIELD_NUMBER: _ClassVar[int]
547
+ TOOL_CALLS_FIELD_NUMBER: _ClassVar[int]
548
+ TOOL_CALL_CHUNKS_FIELD_NUMBER: _ClassVar[int]
549
+ INVALID_TOOL_CALLS_FIELD_NUMBER: _ClassVar[int]
550
+ CHUNK_POSITION_FIELD_NUMBER: _ClassVar[int]
551
+ REASONING_CONTENT_FIELD_NUMBER: _ClassVar[int]
552
+ usage_metadata: UsageMetadata
553
+ response_metadata: ResponseMetadata
554
+ tool_calls: _containers.RepeatedCompositeFieldContainer[ToolCall]
555
+ tool_call_chunks: _containers.RepeatedCompositeFieldContainer[ToolCallChunk]
556
+ invalid_tool_calls: _containers.RepeatedCompositeFieldContainer[InvalidToolCall]
557
+ chunk_position: str
558
+ reasoning_content: _wrappers_pb2.StringValue
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: ...
560
+
561
+ class ToolFields(_message.Message):
562
+ __slots__ = ("tool_call_id", "status", "artifact")
563
+ TOOL_CALL_ID_FIELD_NUMBER: _ClassVar[int]
564
+ STATUS_FIELD_NUMBER: _ClassVar[int]
565
+ ARTIFACT_FIELD_NUMBER: _ClassVar[int]
566
+ tool_call_id: _wrappers_pb2.StringValue
567
+ status: str
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: ...
570
+
571
+ class HumanFields(_message.Message):
572
+ __slots__ = ()
573
+ def __init__(self) -> None: ...
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
+
607
+ class ChatMessage(_message.Message):
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: ...
623
+ ID_FIELD_NUMBER: _ClassVar[int]
624
+ NAME_FIELD_NUMBER: _ClassVar[int]
625
+ TYPE_FIELD_NUMBER: _ClassVar[int]
626
+ CONTENT_FIELD_NUMBER: _ClassVar[int]
627
+ ADDITIONAL_KWARGS_FIELD_NUMBER: _ClassVar[int]
628
+ AI_FIELD_NUMBER: _ClassVar[int]
629
+ TOOL_FIELD_NUMBER: _ClassVar[int]
630
+ HUMAN_FIELD_NUMBER: _ClassVar[int]
631
+ EXTENSIONS_FIELD_NUMBER: _ClassVar[int]
632
+ id: str
633
+ name: str
634
+ type: str
635
+ content: Content
636
+ additional_kwargs: _containers.ScalarMap[str, bytes]
637
+ ai: AIFields
638
+ tool: ToolFields
639
+ human: HumanFields
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: ...
642
+
643
+ class ChatMessageEnvelope(_message.Message):
644
+ __slots__ = ("is_streaming_chunk", "namespace", "message", "metadata", "node_name")
645
+ IS_STREAMING_CHUNK_FIELD_NUMBER: _ClassVar[int]
646
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
647
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
648
+ METADATA_FIELD_NUMBER: _ClassVar[int]
649
+ NODE_NAME_FIELD_NUMBER: _ClassVar[int]
650
+ is_streaming_chunk: bool
651
+ namespace: _containers.RepeatedScalarFieldContainer[str]
652
+ message: ChatMessage
653
+ metadata: bytes
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: ...
656
+
657
+ class StateSnapshot(_message.Message):
658
+ __slots__ = ("values_json", "next", "config", "metadata", "created_at", "parent_config", "tasks", "interrupts")
659
+ VALUES_JSON_FIELD_NUMBER: _ClassVar[int]
660
+ NEXT_FIELD_NUMBER: _ClassVar[int]
661
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
662
+ METADATA_FIELD_NUMBER: _ClassVar[int]
663
+ CREATED_AT_FIELD_NUMBER: _ClassVar[int]
664
+ PARENT_CONFIG_FIELD_NUMBER: _ClassVar[int]
665
+ TASKS_FIELD_NUMBER: _ClassVar[int]
666
+ INTERRUPTS_FIELD_NUMBER: _ClassVar[int]
667
+ values_json: bytes
668
+ next: _containers.RepeatedScalarFieldContainer[str]
669
+ config: EngineRunnableConfig
670
+ metadata: CheckpointMetadata
671
+ created_at: str
672
+ parent_config: EngineRunnableConfig
673
+ tasks: _containers.RepeatedCompositeFieldContainer[PregelTaskSnapshot]
674
+ interrupts: _containers.RepeatedCompositeFieldContainer[Interrupt]
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: ...
676
+
677
+ class StateUpdate(_message.Message):
678
+ __slots__ = ("values", "as_node", "task_id")
679
+ VALUES_FIELD_NUMBER: _ClassVar[int]
680
+ AS_NODE_FIELD_NUMBER: _ClassVar[int]
681
+ TASK_ID_FIELD_NUMBER: _ClassVar[int]
682
+ values: SerializedValue
683
+ as_node: str
684
+ task_id: str
685
+ def __init__(self, values: _Optional[_Union[SerializedValue, _Mapping]] = ..., as_node: _Optional[str] = ..., task_id: _Optional[str] = ...) -> None: ...
686
+
687
+ class SuperstepUpdates(_message.Message):
688
+ __slots__ = ("updates",)
689
+ UPDATES_FIELD_NUMBER: _ClassVar[int]
690
+ updates: _containers.RepeatedCompositeFieldContainer[StateUpdate]
691
+ def __init__(self, updates: _Optional[_Iterable[_Union[StateUpdate, _Mapping]]] = ...) -> None: ...
692
+
693
+ class StringOrSlice(_message.Message):
694
+ __slots__ = ("values", "is_string")
695
+ VALUES_FIELD_NUMBER: _ClassVar[int]
696
+ IS_STRING_FIELD_NUMBER: _ClassVar[int]
697
+ values: _containers.RepeatedScalarFieldContainer[str]
698
+ is_string: bool
699
+ def __init__(self, values: _Optional[_Iterable[str]] = ..., is_string: bool = ...) -> None: ...
700
+
701
+ class PathSegment(_message.Message):
702
+ __slots__ = ("string_value", "int_value", "bool_value")
703
+ STRING_VALUE_FIELD_NUMBER: _ClassVar[int]
704
+ INT_VALUE_FIELD_NUMBER: _ClassVar[int]
705
+ BOOL_VALUE_FIELD_NUMBER: _ClassVar[int]
706
+ string_value: str
707
+ int_value: int
708
+ bool_value: bool
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: ...