temporal-flowrensic-python-sdk 0.6.63__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 (54) hide show
  1. temporal_flowrensic/__init__.py +2 -0
  2. temporal_flowrensic/_calls.py +185 -0
  3. temporal_flowrensic/_ci.py +56 -0
  4. temporal_flowrensic/_deploy.py +65 -0
  5. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.py +76 -0
  6. temporal_flowrensic/_gen/flowrensic/v1/activity_metrics_pb2.pyi +301 -0
  7. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.py +60 -0
  8. temporal_flowrensic/_gen/flowrensic/v1/catalog_pb2.pyi +127 -0
  9. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.py +42 -0
  10. temporal_flowrensic/_gen/flowrensic/v1/catch_up_pb2.pyi +71 -0
  11. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.py +49 -0
  12. temporal_flowrensic/_gen/flowrensic/v1/client_calls_pb2.pyi +90 -0
  13. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.py +52 -0
  14. temporal_flowrensic/_gen/flowrensic/v1/cost_pb2.pyi +107 -0
  15. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.py +51 -0
  16. temporal_flowrensic/_gen/flowrensic/v1/deploy_pb2.pyi +92 -0
  17. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.py +107 -0
  18. temporal_flowrensic/_gen/flowrensic/v1/ephemeral_run_pb2.pyi +344 -0
  19. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.py +76 -0
  20. temporal_flowrensic/_gen/flowrensic/v1/finding_pb2.pyi +371 -0
  21. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.py +46 -0
  22. temporal_flowrensic/_gen/flowrensic/v1/job_pb2.pyi +51 -0
  23. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.py +51 -0
  24. temporal_flowrensic/_gen/flowrensic/v1/load_pb2.pyi +118 -0
  25. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.py +38 -0
  26. temporal_flowrensic/_gen/flowrensic/v1/page_pb2.pyi +23 -0
  27. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.py +60 -0
  28. temporal_flowrensic/_gen/flowrensic/v1/remediation_pb2.pyi +157 -0
  29. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.py +84 -0
  30. temporal_flowrensic/_gen/flowrensic/v1/replay_pb2.pyi +309 -0
  31. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.py +48 -0
  32. temporal_flowrensic/_gen/flowrensic/v1/server_config_pb2.pyi +97 -0
  33. temporal_flowrensic/_gen/flowrensic/v1/services_connect.py +3621 -0
  34. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.py +60 -0
  35. temporal_flowrensic/_gen/flowrensic/v1/services_pb2.pyi +20 -0
  36. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.py +43 -0
  37. temporal_flowrensic/_gen/flowrensic/v1/stored_data_pb2.pyi +50 -0
  38. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.py +47 -0
  39. temporal_flowrensic/_gen/flowrensic/v1/workflow_history_pb2.pyi +102 -0
  40. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.py +55 -0
  41. temporal_flowrensic/_gen/flowrensic/v1/workflow_types_pb2.pyi +197 -0
  42. temporal_flowrensic/_names.py +42 -0
  43. temporal_flowrensic/_queries.py +61 -0
  44. temporal_flowrensic/_replay.py +378 -0
  45. temporal_flowrensic/_sink.py +574 -0
  46. temporal_flowrensic/_telemetry.py +559 -0
  47. temporal_flowrensic/activity.py +136 -0
  48. temporal_flowrensic/client.py +166 -0
  49. temporal_flowrensic/py.typed +0 -0
  50. temporal_flowrensic/workflow.py +103 -0
  51. temporal_flowrensic_python_sdk-0.6.63.dist-info/METADATA +74 -0
  52. temporal_flowrensic_python_sdk-0.6.63.dist-info/RECORD +54 -0
  53. temporal_flowrensic_python_sdk-0.6.63.dist-info/WHEEL +4 -0
  54. temporal_flowrensic_python_sdk-0.6.63.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,344 @@
1
+ import datetime
2
+
3
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as _page_pb2
4
+ from temporal_flowrensic._gen.flowrensic.v1 import replay_pb2 as _replay_pb2
5
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
6
+ from google.protobuf.internal import containers as _containers
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 EphemeralRun(_message.Message):
15
+ __slots__ = ("env", "ephemeral_run", "samples", "handover_done", "marked", "gap", "incomplete")
16
+ ENV_FIELD_NUMBER: _ClassVar[int]
17
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
18
+ SAMPLES_FIELD_NUMBER: _ClassVar[int]
19
+ HANDOVER_DONE_FIELD_NUMBER: _ClassVar[int]
20
+ MARKED_FIELD_NUMBER: _ClassVar[int]
21
+ GAP_FIELD_NUMBER: _ClassVar[int]
22
+ INCOMPLETE_FIELD_NUMBER: _ClassVar[int]
23
+ env: str
24
+ ephemeral_run: str
25
+ samples: int
26
+ handover_done: bool
27
+ marked: bool
28
+ gap: bool
29
+ incomplete: bool
30
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., samples: _Optional[int] = ..., handover_done: bool = ..., marked: bool = ..., gap: bool = ..., incomplete: bool = ...) -> None: ...
31
+
32
+ class EphemeralRunMetric(_message.Message):
33
+ __slots__ = ("env", "ephemeral_run", "name", "labels", "value", "scraped_at", "metric_type")
34
+ class LabelsEntry(_message.Message):
35
+ __slots__ = ("key", "value")
36
+ KEY_FIELD_NUMBER: _ClassVar[int]
37
+ VALUE_FIELD_NUMBER: _ClassVar[int]
38
+ key: str
39
+ value: str
40
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
41
+ ENV_FIELD_NUMBER: _ClassVar[int]
42
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
43
+ NAME_FIELD_NUMBER: _ClassVar[int]
44
+ LABELS_FIELD_NUMBER: _ClassVar[int]
45
+ VALUE_FIELD_NUMBER: _ClassVar[int]
46
+ SCRAPED_AT_FIELD_NUMBER: _ClassVar[int]
47
+ METRIC_TYPE_FIELD_NUMBER: _ClassVar[int]
48
+ env: str
49
+ ephemeral_run: str
50
+ name: str
51
+ labels: _containers.ScalarMap[str, str]
52
+ value: float
53
+ scraped_at: _timestamp_pb2.Timestamp
54
+ metric_type: str
55
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Mapping[str, str]] = ..., value: _Optional[float] = ..., scraped_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., metric_type: _Optional[str] = ...) -> None: ...
56
+
57
+ class WorkerMetric(_message.Message):
58
+ __slots__ = ("env", "ephemeral_run", "worker_id", "name", "labels", "value", "scraped_at", "metric_type")
59
+ class LabelsEntry(_message.Message):
60
+ __slots__ = ("key", "value")
61
+ KEY_FIELD_NUMBER: _ClassVar[int]
62
+ VALUE_FIELD_NUMBER: _ClassVar[int]
63
+ key: str
64
+ value: str
65
+ def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
66
+ ENV_FIELD_NUMBER: _ClassVar[int]
67
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
68
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
69
+ NAME_FIELD_NUMBER: _ClassVar[int]
70
+ LABELS_FIELD_NUMBER: _ClassVar[int]
71
+ VALUE_FIELD_NUMBER: _ClassVar[int]
72
+ SCRAPED_AT_FIELD_NUMBER: _ClassVar[int]
73
+ METRIC_TYPE_FIELD_NUMBER: _ClassVar[int]
74
+ env: str
75
+ ephemeral_run: str
76
+ worker_id: str
77
+ name: str
78
+ labels: _containers.ScalarMap[str, str]
79
+ value: float
80
+ scraped_at: _timestamp_pb2.Timestamp
81
+ metric_type: str
82
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., worker_id: _Optional[str] = ..., name: _Optional[str] = ..., labels: _Optional[_Mapping[str, str]] = ..., value: _Optional[float] = ..., scraped_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., metric_type: _Optional[str] = ...) -> None: ...
83
+
84
+ class IngestWorkerMetricsRequest(_message.Message):
85
+ __slots__ = ("worker_id", "exposition")
86
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
87
+ EXPOSITION_FIELD_NUMBER: _ClassVar[int]
88
+ worker_id: str
89
+ exposition: str
90
+ def __init__(self, worker_id: _Optional[str] = ..., exposition: _Optional[str] = ...) -> None: ...
91
+
92
+ class IngestWorkerMetricsResponse(_message.Message):
93
+ __slots__ = ("accepted",)
94
+ ACCEPTED_FIELD_NUMBER: _ClassVar[int]
95
+ accepted: int
96
+ def __init__(self, accepted: _Optional[int] = ...) -> None: ...
97
+
98
+ class WorkerMetricsRequest(_message.Message):
99
+ __slots__ = ("env", "ephemeral_run", "name_prefix", "page")
100
+ ENV_FIELD_NUMBER: _ClassVar[int]
101
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
102
+ NAME_PREFIX_FIELD_NUMBER: _ClassVar[int]
103
+ PAGE_FIELD_NUMBER: _ClassVar[int]
104
+ env: str
105
+ ephemeral_run: str
106
+ name_prefix: str
107
+ page: _page_pb2.PageRequest
108
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., name_prefix: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
109
+
110
+ class WorkerMetricsResponse(_message.Message):
111
+ __slots__ = ("metrics", "page")
112
+ METRICS_FIELD_NUMBER: _ClassVar[int]
113
+ PAGE_FIELD_NUMBER: _ClassVar[int]
114
+ metrics: _containers.RepeatedCompositeFieldContainer[WorkerMetric]
115
+ page: _page_pb2.PageResponse
116
+ def __init__(self, metrics: _Optional[_Iterable[_Union[WorkerMetric, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
117
+
118
+ class EphemeralRunHandshakeRequest(_message.Message):
119
+ __slots__ = ("metrics_address", "worker_id", "version", "workflow_interceptors")
120
+ METRICS_ADDRESS_FIELD_NUMBER: _ClassVar[int]
121
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
122
+ VERSION_FIELD_NUMBER: _ClassVar[int]
123
+ WORKFLOW_INTERCEPTORS_FIELD_NUMBER: _ClassVar[int]
124
+ metrics_address: str
125
+ worker_id: str
126
+ version: str
127
+ workflow_interceptors: _replay_pb2.WorkflowInterceptors
128
+ def __init__(self, metrics_address: _Optional[str] = ..., worker_id: _Optional[str] = ..., version: _Optional[str] = ..., workflow_interceptors: _Optional[_Union[_replay_pb2.WorkflowInterceptors, _Mapping]] = ...) -> None: ...
129
+
130
+ class EphemeralRunHandshakeResponse(_message.Message):
131
+ __slots__ = ("forward", "interval_seconds", "skip_histories", "engine_metric_names")
132
+ FORWARD_FIELD_NUMBER: _ClassVar[int]
133
+ INTERVAL_SECONDS_FIELD_NUMBER: _ClassVar[int]
134
+ SKIP_HISTORIES_FIELD_NUMBER: _ClassVar[int]
135
+ ENGINE_METRIC_NAMES_FIELD_NUMBER: _ClassVar[int]
136
+ forward: bool
137
+ interval_seconds: int
138
+ skip_histories: bool
139
+ engine_metric_names: _containers.RepeatedScalarFieldContainer[str]
140
+ def __init__(self, forward: bool = ..., interval_seconds: _Optional[int] = ..., skip_histories: bool = ..., engine_metric_names: _Optional[_Iterable[str]] = ...) -> None: ...
141
+
142
+ class IngestEphemeralRunMetricsRequest(_message.Message):
143
+ __slots__ = ("exposition", "worker_id")
144
+ EXPOSITION_FIELD_NUMBER: _ClassVar[int]
145
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
146
+ exposition: str
147
+ worker_id: str
148
+ def __init__(self, exposition: _Optional[str] = ..., worker_id: _Optional[str] = ...) -> None: ...
149
+
150
+ class IngestEphemeralRunMetricsResponse(_message.Message):
151
+ __slots__ = ("accepted",)
152
+ ACCEPTED_FIELD_NUMBER: _ClassVar[int]
153
+ accepted: int
154
+ def __init__(self, accepted: _Optional[int] = ...) -> None: ...
155
+
156
+ class IngestEngineHistoryRequest(_message.Message):
157
+ __slots__ = ("run_id", "raw", "history", "namespace", "workflow_id", "task_attempt", "worker_id", "worker_name")
158
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
159
+ RAW_FIELD_NUMBER: _ClassVar[int]
160
+ HISTORY_FIELD_NUMBER: _ClassVar[int]
161
+ NAMESPACE_FIELD_NUMBER: _ClassVar[int]
162
+ WORKFLOW_ID_FIELD_NUMBER: _ClassVar[int]
163
+ TASK_ATTEMPT_FIELD_NUMBER: _ClassVar[int]
164
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
165
+ WORKER_NAME_FIELD_NUMBER: _ClassVar[int]
166
+ run_id: str
167
+ raw: bytes
168
+ history: bytes
169
+ namespace: str
170
+ workflow_id: str
171
+ task_attempt: int
172
+ worker_id: str
173
+ worker_name: str
174
+ def __init__(self, run_id: _Optional[str] = ..., raw: _Optional[bytes] = ..., history: _Optional[bytes] = ..., namespace: _Optional[str] = ..., workflow_id: _Optional[str] = ..., task_attempt: _Optional[int] = ..., worker_id: _Optional[str] = ..., worker_name: _Optional[str] = ...) -> None: ...
175
+
176
+ class IngestEngineHistoryResponse(_message.Message):
177
+ __slots__ = ("run_id", "events")
178
+ RUN_ID_FIELD_NUMBER: _ClassVar[int]
179
+ EVENTS_FIELD_NUMBER: _ClassVar[int]
180
+ run_id: str
181
+ events: int
182
+ def __init__(self, run_id: _Optional[str] = ..., events: _Optional[int] = ...) -> None: ...
183
+
184
+ class EphemeralRunHandoverRequest(_message.Message):
185
+ __slots__ = ("worker_id", "version")
186
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
187
+ VERSION_FIELD_NUMBER: _ClassVar[int]
188
+ worker_id: str
189
+ version: str
190
+ def __init__(self, worker_id: _Optional[str] = ..., version: _Optional[str] = ...) -> None: ...
191
+
192
+ class EphemeralRunHandoverResponse(_message.Message):
193
+ __slots__ = ()
194
+ def __init__(self) -> None: ...
195
+
196
+ class WorkerBeatRequest(_message.Message):
197
+ __slots__ = ("worker_id", "version", "workflow_interceptors")
198
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
199
+ VERSION_FIELD_NUMBER: _ClassVar[int]
200
+ WORKFLOW_INTERCEPTORS_FIELD_NUMBER: _ClassVar[int]
201
+ worker_id: str
202
+ version: str
203
+ workflow_interceptors: _replay_pb2.WorkflowInterceptors
204
+ def __init__(self, worker_id: _Optional[str] = ..., version: _Optional[str] = ..., workflow_interceptors: _Optional[_Union[_replay_pb2.WorkflowInterceptors, _Mapping]] = ...) -> None: ...
205
+
206
+ class WorkerBeatResponse(_message.Message):
207
+ __slots__ = ()
208
+ def __init__(self) -> None: ...
209
+
210
+ class OldWorkersRequest(_message.Message):
211
+ __slots__ = ("version", "page")
212
+ VERSION_FIELD_NUMBER: _ClassVar[int]
213
+ PAGE_FIELD_NUMBER: _ClassVar[int]
214
+ version: str
215
+ page: _page_pb2.PageRequest
216
+ def __init__(self, version: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
217
+
218
+ class OldWorker(_message.Message):
219
+ __slots__ = ("worker_id", "version", "ephemeral_run", "last_seen")
220
+ WORKER_ID_FIELD_NUMBER: _ClassVar[int]
221
+ VERSION_FIELD_NUMBER: _ClassVar[int]
222
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
223
+ LAST_SEEN_FIELD_NUMBER: _ClassVar[int]
224
+ worker_id: str
225
+ version: str
226
+ ephemeral_run: str
227
+ last_seen: _timestamp_pb2.Timestamp
228
+ def __init__(self, worker_id: _Optional[str] = ..., version: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., last_seen: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ...) -> None: ...
229
+
230
+ class OldWorkersResponse(_message.Message):
231
+ __slots__ = ("count", "workers", "page")
232
+ COUNT_FIELD_NUMBER: _ClassVar[int]
233
+ WORKERS_FIELD_NUMBER: _ClassVar[int]
234
+ PAGE_FIELD_NUMBER: _ClassVar[int]
235
+ count: int
236
+ workers: _containers.RepeatedCompositeFieldContainer[OldWorker]
237
+ page: _page_pb2.PageResponse
238
+ def __init__(self, count: _Optional[int] = ..., workers: _Optional[_Iterable[_Union[OldWorker, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
239
+
240
+ class ListEphemeralRunsRequest(_message.Message):
241
+ __slots__ = ("env", "page")
242
+ ENV_FIELD_NUMBER: _ClassVar[int]
243
+ PAGE_FIELD_NUMBER: _ClassVar[int]
244
+ env: str
245
+ page: _page_pb2.PageRequest
246
+ def __init__(self, env: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
247
+
248
+ class ListEphemeralRunsResponse(_message.Message):
249
+ __slots__ = ("ephemeral_runs", "page")
250
+ EPHEMERAL_RUNS_FIELD_NUMBER: _ClassVar[int]
251
+ PAGE_FIELD_NUMBER: _ClassVar[int]
252
+ ephemeral_runs: _containers.RepeatedCompositeFieldContainer[EphemeralRun]
253
+ page: _page_pb2.PageResponse
254
+ def __init__(self, ephemeral_runs: _Optional[_Iterable[_Union[EphemeralRun, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
255
+
256
+ class EphemeralRunMetricsRequest(_message.Message):
257
+ __slots__ = ("env", "ephemeral_run", "name_prefix", "page")
258
+ ENV_FIELD_NUMBER: _ClassVar[int]
259
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
260
+ NAME_PREFIX_FIELD_NUMBER: _ClassVar[int]
261
+ PAGE_FIELD_NUMBER: _ClassVar[int]
262
+ env: str
263
+ ephemeral_run: str
264
+ name_prefix: str
265
+ page: _page_pb2.PageRequest
266
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., name_prefix: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
267
+
268
+ class EphemeralRunMetricsResponse(_message.Message):
269
+ __slots__ = ("metrics", "page")
270
+ METRICS_FIELD_NUMBER: _ClassVar[int]
271
+ PAGE_FIELD_NUMBER: _ClassVar[int]
272
+ metrics: _containers.RepeatedCompositeFieldContainer[EphemeralRunMetric]
273
+ page: _page_pb2.PageResponse
274
+ def __init__(self, metrics: _Optional[_Iterable[_Union[EphemeralRunMetric, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
275
+
276
+ class EphemeralRunSummary(_message.Message):
277
+ __slots__ = ("env", "ephemeral_run", "started_at", "ended_at", "replay_result", "workers", "workflow_types", "history_files")
278
+ ENV_FIELD_NUMBER: _ClassVar[int]
279
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
280
+ STARTED_AT_FIELD_NUMBER: _ClassVar[int]
281
+ ENDED_AT_FIELD_NUMBER: _ClassVar[int]
282
+ REPLAY_RESULT_FIELD_NUMBER: _ClassVar[int]
283
+ WORKERS_FIELD_NUMBER: _ClassVar[int]
284
+ WORKFLOW_TYPES_FIELD_NUMBER: _ClassVar[int]
285
+ HISTORY_FILES_FIELD_NUMBER: _ClassVar[int]
286
+ env: str
287
+ ephemeral_run: str
288
+ started_at: _timestamp_pb2.Timestamp
289
+ ended_at: _timestamp_pb2.Timestamp
290
+ replay_result: str
291
+ workers: int
292
+ workflow_types: int
293
+ history_files: int
294
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ..., started_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., ended_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., replay_result: _Optional[str] = ..., workers: _Optional[int] = ..., workflow_types: _Optional[int] = ..., history_files: _Optional[int] = ...) -> None: ...
295
+
296
+ class ListEphemeralRunSummariesRequest(_message.Message):
297
+ __slots__ = ("env", "page")
298
+ ENV_FIELD_NUMBER: _ClassVar[int]
299
+ PAGE_FIELD_NUMBER: _ClassVar[int]
300
+ env: str
301
+ page: _page_pb2.PageRequest
302
+ def __init__(self, env: _Optional[str] = ..., page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
303
+
304
+ class ListEphemeralRunSummariesResponse(_message.Message):
305
+ __slots__ = ("runs", "page", "envs")
306
+ RUNS_FIELD_NUMBER: _ClassVar[int]
307
+ PAGE_FIELD_NUMBER: _ClassVar[int]
308
+ ENVS_FIELD_NUMBER: _ClassVar[int]
309
+ runs: _containers.RepeatedCompositeFieldContainer[EphemeralRunSummary]
310
+ page: _page_pb2.PageResponse
311
+ envs: _containers.RepeatedScalarFieldContainer[str]
312
+ def __init__(self, runs: _Optional[_Iterable[_Union[EphemeralRunSummary, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ..., envs: _Optional[_Iterable[str]] = ...) -> None: ...
313
+
314
+ class DeleteEphemeralRunRequest(_message.Message):
315
+ __slots__ = ("env", "ephemeral_run")
316
+ ENV_FIELD_NUMBER: _ClassVar[int]
317
+ EPHEMERAL_RUN_FIELD_NUMBER: _ClassVar[int]
318
+ env: str
319
+ ephemeral_run: str
320
+ def __init__(self, env: _Optional[str] = ..., ephemeral_run: _Optional[str] = ...) -> None: ...
321
+
322
+ class DeleteEphemeralRunResponse(_message.Message):
323
+ __slots__ = ("rows",)
324
+ ROWS_FIELD_NUMBER: _ClassVar[int]
325
+ rows: int
326
+ def __init__(self, rows: _Optional[int] = ...) -> None: ...
327
+
328
+ class GetEphemeralRunSummaryRequest(_message.Message):
329
+ __slots__ = ("page",)
330
+ PAGE_FIELD_NUMBER: _ClassVar[int]
331
+ page: _page_pb2.PageRequest
332
+ def __init__(self, page: _Optional[_Union[_page_pb2.PageRequest, _Mapping]] = ...) -> None: ...
333
+
334
+ class GetEphemeralRunSummaryResponse(_message.Message):
335
+ __slots__ = ("run", "outcome", "results", "page")
336
+ RUN_FIELD_NUMBER: _ClassVar[int]
337
+ OUTCOME_FIELD_NUMBER: _ClassVar[int]
338
+ RESULTS_FIELD_NUMBER: _ClassVar[int]
339
+ PAGE_FIELD_NUMBER: _ClassVar[int]
340
+ run: EphemeralRunSummary
341
+ outcome: str
342
+ results: _containers.RepeatedCompositeFieldContainer[_replay_pb2.ReplayResult]
343
+ page: _page_pb2.PageResponse
344
+ def __init__(self, run: _Optional[_Union[EphemeralRunSummary, _Mapping]] = ..., outcome: _Optional[str] = ..., results: _Optional[_Iterable[_Union[_replay_pb2.ReplayResult, _Mapping]]] = ..., page: _Optional[_Union[_page_pb2.PageResponse, _Mapping]] = ...) -> None: ...
@@ -0,0 +1,76 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: flowrensic/v1/finding.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
+ 'flowrensic/v1/finding.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from temporal_flowrensic._gen.flowrensic.v1 import page_pb2 as flowrensic_dot_v1_dot_page__pb2
26
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1b\x66lowrensic/v1/finding.proto\x12\rflowrensic.v1\x1a\x18\x66lowrensic/v1/page.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc7\x01\n\x08\x45vidence\x12\x1b\n\tevent_seq\x18\x01 \x01(\x03R\x08\x65ventSeq\x12\x12\n\x04note\x18\x02 \x01(\tR\x04note\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12*\n\x02\x61t\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x02\x61t\x12\x1f\n\x0bworkflow_id\x18\x05 \x01(\tR\nworkflowId\x12&\n\x0ftemporal_ui_url\x18\x06 \x01(\tR\rtemporalUiUrl\"\xb6\x08\n\x07\x46inding\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x31\n\x05\x63lass\x18\x03 \x01(\x0e\x32\x1b.flowrensic.v1.FindingClassR\x05\x63lass\x12\x33\n\x08severity\x18\x04 \x01(\x0e\x32\x17.flowrensic.v1.SeverityR\x08severity\x12\x18\n\x07summary\x18\x05 \x01(\tR\x07summary\x12\x1a\n\x08\x61nalyzer\x18\x06 \x01(\tR\x08\x61nalyzer\x12\x33\n\x08\x65vidence\x18\x07 \x03(\x0b\x32\x17.flowrensic.v1.EvidenceR\x08\x65vidence\x12;\n\x0b\x64\x65tected_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndetectedAt\x12\x1b\n\tdeploy_id\x18\t \x01(\tR\x08\x64\x65ployId\x12\x1f\n\x0bworkflow_id\x18\n \x01(\tR\nworkflowId\x12#\n\rworkflow_type\x18\x0b \x01(\tR\x0cworkflowType\x12=\n\x07\x64\x65tails\x18\x0c \x03(\x0b\x32#.flowrensic.v1.Finding.DetailsEntryR\x07\x64\x65tails\x12\x10\n\x03url\x18\r \x01(\tR\x03url\x12\x1b\n\trun_count\x18\x0e \x01(\x05R\x08runCount\x12<\n\x0c\x66irst_run_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nfirstRunAt\x12:\n\x0blast_run_at\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tlastRunAt\x12\x35\n\x08\x65nded_at\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndedAt\x12\x34\n\x06status\x18\x12 \x01(\x0e\x32\x1c.flowrensic.v1.FindingStatusR\x06status\x12;\n\x0b\x61rchived_at\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\narchivedAt\x12;\n\x0bmistaken_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nmistakenAt\x12\x1f\n\x0bmistaken_by\x18\x15 \x01(\tR\nmistakenBy\x12&\n\x0ftemporal_ui_url\x18\x16 \x01(\tR\rtemporalUiUrl\x12+\n\x03tag\x18\x18 \x01(\x0e\x32\x19.flowrensic.v1.FindingTagR\x03tag\x1a:\n\x0c\x44\x65tailsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01J\x04\x08\x17\x10\x18R\nend_reason\"\xb0\x04\n\x13ListFindingsRequest\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x1b\n\tdeploy_id\x18\x02 \x01(\tR\x08\x64\x65ployId\x12\x33\n\x08severity\x18\x05 \x01(\x0e\x32\x17.flowrensic.v1.SeverityR\x08severity\x12\x31\n\x05\x63lass\x18\x06 \x01(\x0e\x32\x1b.flowrensic.v1.FindingClassR\x05\x63lass\x12\x10\n\x03\x65nv\x18\x07 \x01(\tR\x03\x65nv\x12#\n\rworkflow_type\x18\x08 \x01(\tR\x0cworkflowType\x12\x12\n\x04sort\x18\t \x01(\tR\x04sort\x12\x1e\n\ndescending\x18\n \x01(\x08R\ndescending\x12\x1f\n\x0bstored_only\x18\x0b \x01(\x08R\nstoredOnly\x12\x34\n\x06status\x18\x0c \x01(\x0e\x32\x1c.flowrensic.v1.FindingStatusR\x06status\x12\x1a\n\x08mistaken\x18\r \x01(\x08R\x08mistaken\x12+\n\x03tag\x18\x0e \x01(\x0e\x32\x19.flowrensic.v1.FindingTagR\x03tag\x12\x1f\n\x0bworker_name\x18\x0f \x01(\tR\nworkerName\x12.\n\x04page\x18\x10 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04pageJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05R\tpage_sizeR\npage_token\"\xa9\x01\n\x14ListFindingsResponse\x12\x15\n\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x32\n\x08\x66indings\x18\x02 \x03(\x0b\x32\x16.flowrensic.v1.FindingR\x08\x66indings\x12/\n\x04page\x18\x04 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04pageJ\x04\x08\x03\x10\x04R\x0fnext_page_token\"\x17\n\x15ListThresholdsRequest\"\xa0\x01\n\tThreshold\x12!\n\x0c\x65nv_variable\x18\x01 \x01(\tR\x0b\x65nvVariable\x12\x35\n\x07\x63lasses\x18\x02 \x03(\x0e\x32\x1b.flowrensic.v1.FindingClassR\x07\x63lasses\x12#\n\rdefault_value\x18\x03 \x01(\tR\x0c\x64\x65\x66\x61ultValue\x12\x14\n\x05value\x18\x04 \x01(\tR\x05value\"R\n\x16ListThresholdsResponse\x12\x38\n\nthresholds\x18\x01 \x03(\x0b\x32\x18.flowrensic.v1.ThresholdR\nthresholds\"}\n\x11GetFindingRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0bstored_only\x18\x02 \x01(\x08R\nstoredOnly\x12\x37\n\truns_page\x18\x03 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x08runsPage\"\x80\x01\n\x12GetFindingResponse\x12\x30\n\x07\x66inding\x18\x01 \x01(\x0b\x32\x16.flowrensic.v1.FindingR\x07\x66inding\x12\x38\n\truns_page\x18\x02 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x08runsPage\"_\n\x17SetFindingStatusRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32\x1c.flowrensic.v1.FindingStatusR\x06status\"L\n\x18SetFindingStatusResponse\x12\x30\n\x07\x66inding\x18\x01 \x01(\x0b\x32\x16.flowrensic.v1.FindingR\x07\x66inding\"\x96\x01\n\x05\x41lert\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04rule\x18\x02 \x01(\tR\x04rule\x12\x37\n\traised_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x08raisedAt\x12\x30\n\x07\x66inding\x18\x04 \x01(\x0b\x32\x16.flowrensic.v1.FindingR\x07\x66inding\"U\n\x11ListAlertsRequest\x12.\n\x04page\x18\x01 \x01(\x0b\x32\x1a.flowrensic.v1.PageRequestR\x04page\x12\x10\n\x03\x65nv\x18\x02 \x01(\tR\x03\x65nv\"\x87\x01\n\x12ListAlertsResponse\x12,\n\x06\x61lerts\x18\x01 \x03(\x0b\x32\x14.flowrensic.v1.AlertR\x06\x61lerts\x12/\n\x04page\x18\x02 \x01(\x0b\x32\x1b.flowrensic.v1.PageResponseR\x04page\x12\x12\n\x04\x65nvs\x18\x03 \x03(\tR\x04\x65nvs*\xb4\x14\n\x0c\x46indingClass\x12\x1d\n\x19\x46INDING_CLASS_UNSPECIFIED\x10\x00\x12\x18\n\x14\x46INDING_CLASS_WEDGED\x10\x01\x12\"\n\x1e\x46INDING_CLASS_DANGLING_HANDLER\x10\x02\x12\x1c\n\x18\x46INDING_CLASS_STUCK_LOOP\x10\x03\x12\x1f\n\x1b\x46INDING_CLASS_HISTORY_BLOAT\x10\x04\x12#\n\x1f\x46INDING_CLASS_ORPHANED_ACTIVITY\x10\x05\x12%\n!FINDING_CLASS_INITIALIZATION_RACE\x10\x06\x12+\n\'FINDING_CLASS_INVALID_STATE_COMBINATION\x10\x07\x12!\n\x1d\x46INDING_CLASS_TWO_STORE_DRIFT\x10\x08\x12*\n&FINDING_CLASS_TIMEOUT_MISCONFIGURATION\x10\t\x12\"\n\x1e\x46INDING_CLASS_OVERLAP_TOO_LONG\x10\n\x12#\n\x1f\x46INDING_CLASS_DECLARED_NOT_DONE\x10\x0b\x12,\n(FINDING_CLASS_OLD_VERSION_DURING_ROLLOUT\x10\x0c\x12(\n$FINDING_CLASS_RETRY_MISCONFIGURATION\x10\r\x12!\n\x1d\x46INDING_CLASS_REFUSED_UPDATES\x10\x0e\x12\x1a\n\x16\x46INDING_CLASS_PULL_GAP\x10\x0f\x12&\n\"FINDING_CLASS_STOPPED_AFTER_DEPLOY\x10\x10\x12\x1c\n\x18\x46INDING_CLASS_FAILED_RUN\x10\x12\x12$\n FINDING_CLASS_SERVER_METRICS_GAP\x10\x13\x12&\n\"FINDING_CLASS_WORKER_SLOTS_USED_UP\x10\x15\x12(\n$FINDING_CLASS_STICKY_CACHE_TOO_SMALL\x10\x16\x12$\n FINDING_CLASS_SLOW_WORKFLOW_TASK\x10\x17\x12\x1d\n\x19\x46INDING_CLASS_LONG_REPLAY\x10\x18\x12\"\n\x1e\x46INDING_CLASS_ACTIVITY_FAILING\x10\x19\x12\x1f\n\x1b\x46INDING_CLASS_ACTIVITY_SLOW\x10\x1a\x12 \n\x1c\x46INDING_CLASS_WORKER_POLLERS\x10\x1b\x12,\n(FINDING_CLASS_WORKER_CANNOT_REACH_SERVER\x10\x1c\x12,\n(FINDING_CLASS_SCHEDULE_TO_START_INCREASE\x10\x1d\x12!\n\x1d\x46INDING_CLASS_BACKLOG_GROWING\x10\x1e\x12\x1c\n\x18\x46INDING_CLASS_NO_POLLERS\x10\x1f\x12(\n$FINDING_CLASS_HIGH_SCHEDULE_TO_START\x10 \x12 \n\x1c\x46INDING_CLASS_LOW_SYNC_MATCH\x10!\x12$\n FINDING_CLASS_RESOURCE_EXHAUSTED\x10\"\x12#\n\x1f\x46INDING_CLASS_TEMPORAL_DATABASE\x10#\x12(\n$FINDING_CLASS_WORKFLOW_TASK_FAILURES\x10$\x12*\n&FINDING_CLASS_ACTIVITY_TIMEOUTS_RISING\x10%\x12#\n\x1f\x46INDING_CLASS_HISTORY_TOO_LARGE\x10&\x12)\n%FINDING_CLASS_HISTORY_SERVICE_TROUBLE\x10\'\x12#\n\x1f\x46INDING_CLASS_ACTIVITY_ATTEMPTS\x10(\x12\x1f\n\x1b\x46INDING_CLASS_ERROR_RETRIES\x10)\x12\x31\n-FINDING_CLASS_LONG_ACTIVITY_WITHOUT_HEARTBEAT\x10*\x12\x1f\n\x1b\x46INDING_CLASS_LOST_ATTEMPTS\x10+\x12$\n FINDING_CLASS_UNHANDLED_MESSAGES\x10,\x12(\n$FINDING_CLASS_WORKER_RECORDS_DROPPED\x10-\x12&\n\"FINDING_CLASS_NAMESPACE_NEAR_LIMIT\x10.\x12%\n!FINDING_CLASS_NAMESPACE_THROTTLED\x10/\x12(\n$FINDING_CLASS_ENGINE_METRICS_MISSING\x10\x30\x12\x1e\n\x1a\x46INDING_CLASS_DATA_STOPPED\x10\x31\x12\'\n#FINDING_CLASS_ACTIVITY_NEAR_TIMEOUT\x10\x32\x12$\n FINDING_CLASS_ACTIVITY_TIMED_OUT\x10\x33\x12 \n\x1c\x46INDING_CLASS_ENGINE_REFUSED\x10\x34\x12$\n FINDING_CLASS_ENGINE_UNREACHABLE\x10\x35\x12&\n\"FINDING_CLASS_WORKER_CALLS_REFUSED\x10\x36\x12%\n!FINDING_CLASS_NAMESPACE_NOT_FOUND\x10\x37\x12\'\n#FINDING_CLASS_ENV_WITHOUT_NAMESPACE\x10\x38\x12&\n\"FINDING_CLASS_E2E_WITH_OLD_WORKERS\x10:\x12#\n\x1f\x46INDING_CLASS_E2E_ATTEMPTS_LOST\x10;\x12\x1b\n\x17\x46INDING_CLASS_FORGOTTEN\x10<\x12*\n&FINDING_CLASS_REPLAY_INTERCEPTOR_DRIFT\x10=\x12&\n\"FINDING_CLASS_INTERCEPTORS_CHANGED\x10>\x12\x1c\n\x18\x46INDING_CLASS_JOB_BEHIND\x10?\x12\x1a\n\x16\x46INDING_CLASS_JOB_LATE\x10@\x12\x1c\n\x18\x46INDING_CLASS_OVER_LIMIT\x10\x42\x12%\n!FINDING_CLASS_JOB_BACKLOG_GROWING\x10\x43\x12$\n FINDING_CLASS_UNREADABLE_HISTORY\x10\x44\"\x04\x08\x11\x10\x11\"\x04\x08\x14\x10\x14\"\x04\x08\x39\x10\x39\"\x04\x08\x41\x10\x41*%FINDING_CLASS_DEPLOYED_WITHOUT_REPLAY*\"FINDING_CLASS_DEPLOY_REPLAY_FAILED*\"FINDING_CLASS_UNKNOWN_NAMESPACE_ID* FINDING_CLASS_SIZE_LIMIT_STOPPED*`\n\nFindingTag\x12\x1b\n\x17\x46INDING_TAG_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INDING_TAG_WORKFLOWS\x10\x01\x12\x1a\n\x16\x46INDING_TAG_FLOWRENSIC\x10\x02*d\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n\rSEVERITY_INFO\x10\x01\x12\x14\n\x10SEVERITY_WARNING\x10\x02\x12\x15\n\x11SEVERITY_CRITICAL\x10\x03*g\n\rFindingStatus\x12\x1e\n\x1a\x46INDING_STATUS_UNSPECIFIED\x10\x00\x12\x19\n\x15\x46INDING_STATUS_ACTIVE\x10\x01\x12\x1b\n\x17\x46INDING_STATUS_ARCHIVED\x10\x02\x62\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'flowrensic.v1.finding_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ DESCRIPTOR._loaded_options = None
36
+ _globals['_FINDING_DETAILSENTRY']._loaded_options = None
37
+ _globals['_FINDING_DETAILSENTRY']._serialized_options = b'8\001'
38
+ _globals['_FINDINGCLASS']._serialized_start=3207
39
+ _globals['_FINDINGCLASS']._serialized_end=5819
40
+ _globals['_FINDINGTAG']._serialized_start=5821
41
+ _globals['_FINDINGTAG']._serialized_end=5917
42
+ _globals['_SEVERITY']._serialized_start=5919
43
+ _globals['_SEVERITY']._serialized_end=6019
44
+ _globals['_FINDINGSTATUS']._serialized_start=6021
45
+ _globals['_FINDINGSTATUS']._serialized_end=6124
46
+ _globals['_EVIDENCE']._serialized_start=106
47
+ _globals['_EVIDENCE']._serialized_end=305
48
+ _globals['_FINDING']._serialized_start=308
49
+ _globals['_FINDING']._serialized_end=1386
50
+ _globals['_FINDING_DETAILSENTRY']._serialized_start=1310
51
+ _globals['_FINDING_DETAILSENTRY']._serialized_end=1368
52
+ _globals['_LISTFINDINGSREQUEST']._serialized_start=1389
53
+ _globals['_LISTFINDINGSREQUEST']._serialized_end=1949
54
+ _globals['_LISTFINDINGSRESPONSE']._serialized_start=1952
55
+ _globals['_LISTFINDINGSRESPONSE']._serialized_end=2121
56
+ _globals['_LISTTHRESHOLDSREQUEST']._serialized_start=2123
57
+ _globals['_LISTTHRESHOLDSREQUEST']._serialized_end=2146
58
+ _globals['_THRESHOLD']._serialized_start=2149
59
+ _globals['_THRESHOLD']._serialized_end=2309
60
+ _globals['_LISTTHRESHOLDSRESPONSE']._serialized_start=2311
61
+ _globals['_LISTTHRESHOLDSRESPONSE']._serialized_end=2393
62
+ _globals['_GETFINDINGREQUEST']._serialized_start=2395
63
+ _globals['_GETFINDINGREQUEST']._serialized_end=2520
64
+ _globals['_GETFINDINGRESPONSE']._serialized_start=2523
65
+ _globals['_GETFINDINGRESPONSE']._serialized_end=2651
66
+ _globals['_SETFINDINGSTATUSREQUEST']._serialized_start=2653
67
+ _globals['_SETFINDINGSTATUSREQUEST']._serialized_end=2748
68
+ _globals['_SETFINDINGSTATUSRESPONSE']._serialized_start=2750
69
+ _globals['_SETFINDINGSTATUSRESPONSE']._serialized_end=2826
70
+ _globals['_ALERT']._serialized_start=2829
71
+ _globals['_ALERT']._serialized_end=2979
72
+ _globals['_LISTALERTSREQUEST']._serialized_start=2981
73
+ _globals['_LISTALERTSREQUEST']._serialized_end=3066
74
+ _globals['_LISTALERTSRESPONSE']._serialized_start=3069
75
+ _globals['_LISTALERTSRESPONSE']._serialized_end=3204
76
+ # @@protoc_insertion_point(module_scope)