cuvis-ai-schemas 0.1.0__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 (34) hide show
  1. cuvis_ai_schemas/__init__.py +5 -0
  2. cuvis_ai_schemas/discovery/__init__.py +6 -0
  3. cuvis_ai_schemas/enums/__init__.py +5 -0
  4. cuvis_ai_schemas/enums/types.py +30 -0
  5. cuvis_ai_schemas/execution/__init__.py +12 -0
  6. cuvis_ai_schemas/execution/context.py +41 -0
  7. cuvis_ai_schemas/execution/monitoring.py +83 -0
  8. cuvis_ai_schemas/extensions/__init__.py +3 -0
  9. cuvis_ai_schemas/extensions/ui/__init__.py +8 -0
  10. cuvis_ai_schemas/extensions/ui/port_display.py +159 -0
  11. cuvis_ai_schemas/grpc/__init__.py +3 -0
  12. cuvis_ai_schemas/grpc/v1/__init__.py +11 -0
  13. cuvis_ai_schemas/grpc/v1/cuvis_ai_pb2.py +240 -0
  14. cuvis_ai_schemas/grpc/v1/cuvis_ai_pb2.pyi +1046 -0
  15. cuvis_ai_schemas/grpc/v1/cuvis_ai_pb2_grpc.py +1290 -0
  16. cuvis_ai_schemas/pipeline/__init__.py +17 -0
  17. cuvis_ai_schemas/pipeline/config.py +238 -0
  18. cuvis_ai_schemas/pipeline/ports.py +48 -0
  19. cuvis_ai_schemas/plugin/__init__.py +6 -0
  20. cuvis_ai_schemas/plugin/config.py +118 -0
  21. cuvis_ai_schemas/plugin/manifest.py +95 -0
  22. cuvis_ai_schemas/training/__init__.py +40 -0
  23. cuvis_ai_schemas/training/callbacks.py +137 -0
  24. cuvis_ai_schemas/training/config.py +135 -0
  25. cuvis_ai_schemas/training/data.py +73 -0
  26. cuvis_ai_schemas/training/optimizer.py +94 -0
  27. cuvis_ai_schemas/training/run.py +198 -0
  28. cuvis_ai_schemas/training/scheduler.py +69 -0
  29. cuvis_ai_schemas/training/trainer.py +40 -0
  30. cuvis_ai_schemas-0.1.0.dist-info/METADATA +111 -0
  31. cuvis_ai_schemas-0.1.0.dist-info/RECORD +34 -0
  32. cuvis_ai_schemas-0.1.0.dist-info/WHEEL +5 -0
  33. cuvis_ai_schemas-0.1.0.dist-info/licenses/LICENSE +190 -0
  34. cuvis_ai_schemas-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1046 @@
1
+ from collections.abc import Iterable as _Iterable
2
+ from collections.abc import Mapping as _Mapping
3
+ from typing import ClassVar as _ClassVar
4
+
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import message as _message
7
+ from google.protobuf.internal import containers as _containers
8
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
9
+
10
+ DESCRIPTOR: _descriptor.FileDescriptor
11
+
12
+ class ProcessingMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
13
+ __slots__ = ()
14
+ PROCESSING_MODE_UNSPECIFIED: _ClassVar[ProcessingMode]
15
+ PROCESSING_MODE_RAW: _ClassVar[ProcessingMode]
16
+ PROCESSING_MODE_REFLECTANCE: _ClassVar[ProcessingMode]
17
+ PROCESSING_MODE_DARKSUBTRACT: _ClassVar[ProcessingMode]
18
+ PROCESSING_MODE_SPECTRAL_RADIANCE: _ClassVar[ProcessingMode]
19
+
20
+ class ExecutionStage(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
21
+ __slots__ = ()
22
+ EXECUTION_STAGE_UNSPECIFIED: _ClassVar[ExecutionStage]
23
+ EXECUTION_STAGE_TRAIN: _ClassVar[ExecutionStage]
24
+ EXECUTION_STAGE_VAL: _ClassVar[ExecutionStage]
25
+ EXECUTION_STAGE_TEST: _ClassVar[ExecutionStage]
26
+ EXECUTION_STAGE_INFERENCE: _ClassVar[ExecutionStage]
27
+
28
+ class DType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
29
+ __slots__ = ()
30
+ D_TYPE_UNSPECIFIED: _ClassVar[DType]
31
+ D_TYPE_FLOAT32: _ClassVar[DType]
32
+ D_TYPE_FLOAT64: _ClassVar[DType]
33
+ D_TYPE_INT32: _ClassVar[DType]
34
+ D_TYPE_INT64: _ClassVar[DType]
35
+ D_TYPE_UINT8: _ClassVar[DType]
36
+ D_TYPE_BOOL: _ClassVar[DType]
37
+ D_TYPE_FLOAT16: _ClassVar[DType]
38
+ D_TYPE_UINT16: _ClassVar[DType]
39
+
40
+ class TrainerType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
41
+ __slots__ = ()
42
+ TRAINER_TYPE_UNSPECIFIED: _ClassVar[TrainerType]
43
+ TRAINER_TYPE_STATISTICAL: _ClassVar[TrainerType]
44
+ TRAINER_TYPE_GRADIENT: _ClassVar[TrainerType]
45
+
46
+ class TrainStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
47
+ __slots__ = ()
48
+ TRAIN_STATUS_UNSPECIFIED: _ClassVar[TrainStatus]
49
+ TRAIN_STATUS_RUNNING: _ClassVar[TrainStatus]
50
+ TRAIN_STATUS_COMPLETE: _ClassVar[TrainStatus]
51
+ TRAIN_STATUS_ERROR: _ClassVar[TrainStatus]
52
+
53
+ class PointType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
54
+ __slots__ = ()
55
+ POINT_TYPE_UNSPECIFIED: _ClassVar[PointType]
56
+ POINT_TYPE_POSITIVE: _ClassVar[PointType]
57
+ POINT_TYPE_NEGATIVE: _ClassVar[PointType]
58
+ POINT_TYPE_NEUTRAL: _ClassVar[PointType]
59
+
60
+ PROCESSING_MODE_UNSPECIFIED: ProcessingMode
61
+ PROCESSING_MODE_RAW: ProcessingMode
62
+ PROCESSING_MODE_REFLECTANCE: ProcessingMode
63
+ PROCESSING_MODE_DARKSUBTRACT: ProcessingMode
64
+ PROCESSING_MODE_SPECTRAL_RADIANCE: ProcessingMode
65
+ EXECUTION_STAGE_UNSPECIFIED: ExecutionStage
66
+ EXECUTION_STAGE_TRAIN: ExecutionStage
67
+ EXECUTION_STAGE_VAL: ExecutionStage
68
+ EXECUTION_STAGE_TEST: ExecutionStage
69
+ EXECUTION_STAGE_INFERENCE: ExecutionStage
70
+ D_TYPE_UNSPECIFIED: DType
71
+ D_TYPE_FLOAT32: DType
72
+ D_TYPE_FLOAT64: DType
73
+ D_TYPE_INT32: DType
74
+ D_TYPE_INT64: DType
75
+ D_TYPE_UINT8: DType
76
+ D_TYPE_BOOL: DType
77
+ D_TYPE_FLOAT16: DType
78
+ D_TYPE_UINT16: DType
79
+ TRAINER_TYPE_UNSPECIFIED: TrainerType
80
+ TRAINER_TYPE_STATISTICAL: TrainerType
81
+ TRAINER_TYPE_GRADIENT: TrainerType
82
+ TRAIN_STATUS_UNSPECIFIED: TrainStatus
83
+ TRAIN_STATUS_RUNNING: TrainStatus
84
+ TRAIN_STATUS_COMPLETE: TrainStatus
85
+ TRAIN_STATUS_ERROR: TrainStatus
86
+ POINT_TYPE_UNSPECIFIED: PointType
87
+ POINT_TYPE_POSITIVE: PointType
88
+ POINT_TYPE_NEGATIVE: PointType
89
+ POINT_TYPE_NEUTRAL: PointType
90
+
91
+ class Tensor(_message.Message):
92
+ __slots__ = ("shape", "dtype", "raw_data")
93
+ SHAPE_FIELD_NUMBER: _ClassVar[int]
94
+ DTYPE_FIELD_NUMBER: _ClassVar[int]
95
+ RAW_DATA_FIELD_NUMBER: _ClassVar[int]
96
+ shape: _containers.RepeatedScalarFieldContainer[int]
97
+ dtype: DType
98
+ raw_data: bytes
99
+ def __init__(
100
+ self,
101
+ shape: _Iterable[int] | None = ...,
102
+ dtype: DType | str | None = ...,
103
+ raw_data: bytes | None = ...,
104
+ ) -> None: ...
105
+
106
+ class Context(_message.Message):
107
+ __slots__ = ("stage", "epoch", "batch_idx", "global_step")
108
+ STAGE_FIELD_NUMBER: _ClassVar[int]
109
+ EPOCH_FIELD_NUMBER: _ClassVar[int]
110
+ BATCH_IDX_FIELD_NUMBER: _ClassVar[int]
111
+ GLOBAL_STEP_FIELD_NUMBER: _ClassVar[int]
112
+ stage: ExecutionStage
113
+ epoch: int
114
+ batch_idx: int
115
+ global_step: int
116
+ def __init__(
117
+ self,
118
+ stage: ExecutionStage | str | None = ...,
119
+ epoch: int | None = ...,
120
+ batch_idx: int | None = ...,
121
+ global_step: int | None = ...,
122
+ ) -> None: ...
123
+
124
+ class PipelineConfig(_message.Message):
125
+ __slots__ = ("config_bytes",)
126
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
127
+ config_bytes: bytes
128
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
129
+
130
+ class DataConfig(_message.Message):
131
+ __slots__ = ("config_bytes",)
132
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
133
+ config_bytes: bytes
134
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
135
+
136
+ class OptimizerConfig(_message.Message):
137
+ __slots__ = ("config_bytes",)
138
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
139
+ config_bytes: bytes
140
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
141
+
142
+ class SchedulerConfig(_message.Message):
143
+ __slots__ = ("config_bytes",)
144
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
145
+ config_bytes: bytes
146
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
147
+
148
+ class CallbacksConfig(_message.Message):
149
+ __slots__ = ("config_bytes",)
150
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
151
+ config_bytes: bytes
152
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
153
+
154
+ class PipelineMetadata(_message.Message):
155
+ __slots__ = ("name", "description", "created", "cuvis_ai_version", "tags", "author")
156
+ NAME_FIELD_NUMBER: _ClassVar[int]
157
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
158
+ CREATED_FIELD_NUMBER: _ClassVar[int]
159
+ CUVIS_AI_VERSION_FIELD_NUMBER: _ClassVar[int]
160
+ TAGS_FIELD_NUMBER: _ClassVar[int]
161
+ AUTHOR_FIELD_NUMBER: _ClassVar[int]
162
+ name: str
163
+ description: str
164
+ created: str
165
+ cuvis_ai_version: str
166
+ tags: _containers.RepeatedScalarFieldContainer[str]
167
+ author: str
168
+ def __init__(
169
+ self,
170
+ name: str | None = ...,
171
+ description: str | None = ...,
172
+ created: str | None = ...,
173
+ cuvis_ai_version: str | None = ...,
174
+ tags: _Iterable[str] | None = ...,
175
+ author: str | None = ...,
176
+ ) -> None: ...
177
+
178
+ class PipelineInfo(_message.Message):
179
+ __slots__ = ("name", "path", "metadata", "tags", "has_weights", "weights_path", "yaml_content")
180
+ NAME_FIELD_NUMBER: _ClassVar[int]
181
+ PATH_FIELD_NUMBER: _ClassVar[int]
182
+ METADATA_FIELD_NUMBER: _ClassVar[int]
183
+ TAGS_FIELD_NUMBER: _ClassVar[int]
184
+ HAS_WEIGHTS_FIELD_NUMBER: _ClassVar[int]
185
+ WEIGHTS_PATH_FIELD_NUMBER: _ClassVar[int]
186
+ YAML_CONTENT_FIELD_NUMBER: _ClassVar[int]
187
+ name: str
188
+ path: str
189
+ metadata: PipelineMetadata
190
+ tags: _containers.RepeatedScalarFieldContainer[str]
191
+ has_weights: bool
192
+ weights_path: str
193
+ yaml_content: str
194
+ def __init__(
195
+ self,
196
+ name: str | None = ...,
197
+ path: str | None = ...,
198
+ metadata: PipelineMetadata | _Mapping | None = ...,
199
+ tags: _Iterable[str] | None = ...,
200
+ has_weights: bool = ...,
201
+ weights_path: str | None = ...,
202
+ yaml_content: str | None = ...,
203
+ ) -> None: ...
204
+
205
+ class TrainingConfig(_message.Message):
206
+ __slots__ = ("config_bytes",)
207
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
208
+ config_bytes: bytes
209
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
210
+
211
+ class TrainRunConfig(_message.Message):
212
+ __slots__ = ("config_bytes",)
213
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
214
+ config_bytes: bytes
215
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
216
+
217
+ class BoundingBox(_message.Message):
218
+ __slots__ = ("element_id", "x_min", "y_min", "x_max", "y_max")
219
+ ELEMENT_ID_FIELD_NUMBER: _ClassVar[int]
220
+ X_MIN_FIELD_NUMBER: _ClassVar[int]
221
+ Y_MIN_FIELD_NUMBER: _ClassVar[int]
222
+ X_MAX_FIELD_NUMBER: _ClassVar[int]
223
+ Y_MAX_FIELD_NUMBER: _ClassVar[int]
224
+ element_id: int
225
+ x_min: float
226
+ y_min: float
227
+ x_max: float
228
+ y_max: float
229
+ def __init__(
230
+ self,
231
+ element_id: int | None = ...,
232
+ x_min: float | None = ...,
233
+ y_min: float | None = ...,
234
+ x_max: float | None = ...,
235
+ y_max: float | None = ...,
236
+ ) -> None: ...
237
+
238
+ class BoundingBoxes(_message.Message):
239
+ __slots__ = ("boxes",)
240
+ BOXES_FIELD_NUMBER: _ClassVar[int]
241
+ boxes: _containers.RepeatedCompositeFieldContainer[BoundingBox]
242
+ def __init__(self, boxes: _Iterable[BoundingBox | _Mapping] | None = ...) -> None: ...
243
+
244
+ class Point(_message.Message):
245
+ __slots__ = ("element_id", "x", "y", "type")
246
+ ELEMENT_ID_FIELD_NUMBER: _ClassVar[int]
247
+ X_FIELD_NUMBER: _ClassVar[int]
248
+ Y_FIELD_NUMBER: _ClassVar[int]
249
+ TYPE_FIELD_NUMBER: _ClassVar[int]
250
+ element_id: int
251
+ x: float
252
+ y: float
253
+ type: PointType
254
+ def __init__(
255
+ self,
256
+ element_id: int | None = ...,
257
+ x: float | None = ...,
258
+ y: float | None = ...,
259
+ type: PointType | str | None = ...,
260
+ ) -> None: ...
261
+
262
+ class Points(_message.Message):
263
+ __slots__ = ("points",)
264
+ POINTS_FIELD_NUMBER: _ClassVar[int]
265
+ points: _containers.RepeatedCompositeFieldContainer[Point]
266
+ def __init__(self, points: _Iterable[Point | _Mapping] | None = ...) -> None: ...
267
+
268
+ class InputBatch(_message.Message):
269
+ __slots__ = ("wavelengths", "cube", "mask", "bboxes", "points", "text_prompt", "extra_inputs")
270
+ class ExtraInputsEntry(_message.Message):
271
+ __slots__ = ("key", "value")
272
+ KEY_FIELD_NUMBER: _ClassVar[int]
273
+ VALUE_FIELD_NUMBER: _ClassVar[int]
274
+ key: str
275
+ value: Tensor
276
+ def __init__(
277
+ self, key: str | None = ..., value: Tensor | _Mapping | None = ...
278
+ ) -> None: ...
279
+
280
+ WAVELENGTHS_FIELD_NUMBER: _ClassVar[int]
281
+ CUBE_FIELD_NUMBER: _ClassVar[int]
282
+ MASK_FIELD_NUMBER: _ClassVar[int]
283
+ BBOXES_FIELD_NUMBER: _ClassVar[int]
284
+ POINTS_FIELD_NUMBER: _ClassVar[int]
285
+ TEXT_PROMPT_FIELD_NUMBER: _ClassVar[int]
286
+ EXTRA_INPUTS_FIELD_NUMBER: _ClassVar[int]
287
+ wavelengths: Tensor
288
+ cube: Tensor
289
+ mask: Tensor
290
+ bboxes: BoundingBoxes
291
+ points: Points
292
+ text_prompt: str
293
+ extra_inputs: _containers.MessageMap[str, Tensor]
294
+ def __init__(
295
+ self,
296
+ wavelengths: Tensor | _Mapping | None = ...,
297
+ cube: Tensor | _Mapping | None = ...,
298
+ mask: Tensor | _Mapping | None = ...,
299
+ bboxes: BoundingBoxes | _Mapping | None = ...,
300
+ points: Points | _Mapping | None = ...,
301
+ text_prompt: str | None = ...,
302
+ extra_inputs: _Mapping[str, Tensor] | None = ...,
303
+ ) -> None: ...
304
+
305
+ class TensorSpec(_message.Message):
306
+ __slots__ = ("name", "shape", "dtype", "required")
307
+ NAME_FIELD_NUMBER: _ClassVar[int]
308
+ SHAPE_FIELD_NUMBER: _ClassVar[int]
309
+ DTYPE_FIELD_NUMBER: _ClassVar[int]
310
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
311
+ name: str
312
+ shape: _containers.RepeatedScalarFieldContainer[int]
313
+ dtype: DType
314
+ required: bool
315
+ def __init__(
316
+ self,
317
+ name: str | None = ...,
318
+ shape: _Iterable[int] | None = ...,
319
+ dtype: DType | str | None = ...,
320
+ required: bool = ...,
321
+ ) -> None: ...
322
+
323
+ class TrainResponse(_message.Message):
324
+ __slots__ = ("context", "losses", "metrics", "status", "message")
325
+ class LossesEntry(_message.Message):
326
+ __slots__ = ("key", "value")
327
+ KEY_FIELD_NUMBER: _ClassVar[int]
328
+ VALUE_FIELD_NUMBER: _ClassVar[int]
329
+ key: str
330
+ value: float
331
+ def __init__(self, key: str | None = ..., value: float | None = ...) -> None: ...
332
+
333
+ class MetricsEntry(_message.Message):
334
+ __slots__ = ("key", "value")
335
+ KEY_FIELD_NUMBER: _ClassVar[int]
336
+ VALUE_FIELD_NUMBER: _ClassVar[int]
337
+ key: str
338
+ value: float
339
+ def __init__(self, key: str | None = ..., value: float | None = ...) -> None: ...
340
+
341
+ CONTEXT_FIELD_NUMBER: _ClassVar[int]
342
+ LOSSES_FIELD_NUMBER: _ClassVar[int]
343
+ METRICS_FIELD_NUMBER: _ClassVar[int]
344
+ STATUS_FIELD_NUMBER: _ClassVar[int]
345
+ MESSAGE_FIELD_NUMBER: _ClassVar[int]
346
+ context: Context
347
+ losses: _containers.ScalarMap[str, float]
348
+ metrics: _containers.ScalarMap[str, float]
349
+ status: TrainStatus
350
+ message: str
351
+ def __init__(
352
+ self,
353
+ context: Context | _Mapping | None = ...,
354
+ losses: _Mapping[str, float] | None = ...,
355
+ metrics: _Mapping[str, float] | None = ...,
356
+ status: TrainStatus | str | None = ...,
357
+ message: str | None = ...,
358
+ ) -> None: ...
359
+
360
+ class ParamSpec(_message.Message):
361
+ __slots__ = ("name", "type", "required", "default_value", "description", "validation")
362
+ NAME_FIELD_NUMBER: _ClassVar[int]
363
+ TYPE_FIELD_NUMBER: _ClassVar[int]
364
+ REQUIRED_FIELD_NUMBER: _ClassVar[int]
365
+ DEFAULT_VALUE_FIELD_NUMBER: _ClassVar[int]
366
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
367
+ VALIDATION_FIELD_NUMBER: _ClassVar[int]
368
+ name: str
369
+ type: str
370
+ required: bool
371
+ default_value: str
372
+ description: str
373
+ validation: str
374
+ def __init__(
375
+ self,
376
+ name: str | None = ...,
377
+ type: str | None = ...,
378
+ required: bool = ...,
379
+ default_value: str | None = ...,
380
+ description: str | None = ...,
381
+ validation: str | None = ...,
382
+ ) -> None: ...
383
+
384
+ class CallbackTypeInfo(_message.Message):
385
+ __slots__ = ("type", "description", "parameters")
386
+ TYPE_FIELD_NUMBER: _ClassVar[int]
387
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
388
+ PARAMETERS_FIELD_NUMBER: _ClassVar[int]
389
+ type: str
390
+ description: str
391
+ parameters: _containers.RepeatedCompositeFieldContainer[ParamSpec]
392
+ def __init__(
393
+ self,
394
+ type: str | None = ...,
395
+ description: str | None = ...,
396
+ parameters: _Iterable[ParamSpec | _Mapping] | None = ...,
397
+ ) -> None: ...
398
+
399
+ class OptimizerParamsSchema(_message.Message):
400
+ __slots__ = ("parameters",)
401
+ PARAMETERS_FIELD_NUMBER: _ClassVar[int]
402
+ parameters: _containers.RepeatedCompositeFieldContainer[ParamSpec]
403
+ def __init__(self, parameters: _Iterable[ParamSpec | _Mapping] | None = ...) -> None: ...
404
+
405
+ class SchedulerParamsSchema(_message.Message):
406
+ __slots__ = ("parameters",)
407
+ PARAMETERS_FIELD_NUMBER: _ClassVar[int]
408
+ parameters: _containers.RepeatedCompositeFieldContainer[ParamSpec]
409
+ def __init__(self, parameters: _Iterable[ParamSpec | _Mapping] | None = ...) -> None: ...
410
+
411
+ class ListAvailablePipelineesRequest(_message.Message):
412
+ __slots__ = ("filter_tag",)
413
+ FILTER_TAG_FIELD_NUMBER: _ClassVar[int]
414
+ filter_tag: str
415
+ def __init__(self, filter_tag: str | None = ...) -> None: ...
416
+
417
+ class ListAvailablePipelineesResponse(_message.Message):
418
+ __slots__ = ("pipelinees",)
419
+ PIPELINEES_FIELD_NUMBER: _ClassVar[int]
420
+ pipelinees: _containers.RepeatedCompositeFieldContainer[PipelineInfo]
421
+ def __init__(self, pipelinees: _Iterable[PipelineInfo | _Mapping] | None = ...) -> None: ...
422
+
423
+ class GetPipelineInfoRequest(_message.Message):
424
+ __slots__ = ("pipeline_name",)
425
+ PIPELINE_NAME_FIELD_NUMBER: _ClassVar[int]
426
+ pipeline_name: str
427
+ def __init__(self, pipeline_name: str | None = ...) -> None: ...
428
+
429
+ class GetPipelineInfoResponse(_message.Message):
430
+ __slots__ = ("pipeline_info",)
431
+ PIPELINE_INFO_FIELD_NUMBER: _ClassVar[int]
432
+ pipeline_info: PipelineInfo
433
+ def __init__(self, pipeline_info: PipelineInfo | _Mapping | None = ...) -> None: ...
434
+
435
+ class CreateSessionRequest(_message.Message):
436
+ __slots__ = ()
437
+ def __init__(self) -> None: ...
438
+
439
+ class CreateSessionResponse(_message.Message):
440
+ __slots__ = ("session_id",)
441
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
442
+ session_id: str
443
+ def __init__(self, session_id: str | None = ...) -> None: ...
444
+
445
+ class SetSessionSearchPathsRequest(_message.Message):
446
+ __slots__ = ("session_id", "search_paths", "append")
447
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
448
+ SEARCH_PATHS_FIELD_NUMBER: _ClassVar[int]
449
+ APPEND_FIELD_NUMBER: _ClassVar[int]
450
+ session_id: str
451
+ search_paths: _containers.RepeatedScalarFieldContainer[str]
452
+ append: bool
453
+ def __init__(
454
+ self,
455
+ session_id: str | None = ...,
456
+ search_paths: _Iterable[str] | None = ...,
457
+ append: bool = ...,
458
+ ) -> None: ...
459
+
460
+ class SetSessionSearchPathsResponse(_message.Message):
461
+ __slots__ = ("success", "current_paths", "rejected_paths")
462
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
463
+ CURRENT_PATHS_FIELD_NUMBER: _ClassVar[int]
464
+ REJECTED_PATHS_FIELD_NUMBER: _ClassVar[int]
465
+ success: bool
466
+ current_paths: _containers.RepeatedScalarFieldContainer[str]
467
+ rejected_paths: _containers.RepeatedScalarFieldContainer[str]
468
+ def __init__(
469
+ self,
470
+ success: bool = ...,
471
+ current_paths: _Iterable[str] | None = ...,
472
+ rejected_paths: _Iterable[str] | None = ...,
473
+ ) -> None: ...
474
+
475
+ class CloseSessionRequest(_message.Message):
476
+ __slots__ = ("session_id",)
477
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
478
+ session_id: str
479
+ def __init__(self, session_id: str | None = ...) -> None: ...
480
+
481
+ class CloseSessionResponse(_message.Message):
482
+ __slots__ = ("success",)
483
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
484
+ success: bool
485
+ def __init__(self, success: bool = ...) -> None: ...
486
+
487
+ class ResolveConfigRequest(_message.Message):
488
+ __slots__ = ("session_id", "config_type", "path", "overrides")
489
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
490
+ CONFIG_TYPE_FIELD_NUMBER: _ClassVar[int]
491
+ PATH_FIELD_NUMBER: _ClassVar[int]
492
+ OVERRIDES_FIELD_NUMBER: _ClassVar[int]
493
+ session_id: str
494
+ config_type: str
495
+ path: str
496
+ overrides: _containers.RepeatedScalarFieldContainer[str]
497
+ def __init__(
498
+ self,
499
+ session_id: str | None = ...,
500
+ config_type: str | None = ...,
501
+ path: str | None = ...,
502
+ overrides: _Iterable[str] | None = ...,
503
+ ) -> None: ...
504
+
505
+ class ResolveConfigResponse(_message.Message):
506
+ __slots__ = ("config_bytes",)
507
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
508
+ config_bytes: bytes
509
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
510
+
511
+ class GetParameterSchemaRequest(_message.Message):
512
+ __slots__ = ("config_type",)
513
+ CONFIG_TYPE_FIELD_NUMBER: _ClassVar[int]
514
+ config_type: str
515
+ def __init__(self, config_type: str | None = ...) -> None: ...
516
+
517
+ class GetParameterSchemaResponse(_message.Message):
518
+ __slots__ = ("json_schema",)
519
+ JSON_SCHEMA_FIELD_NUMBER: _ClassVar[int]
520
+ json_schema: str
521
+ def __init__(self, json_schema: str | None = ...) -> None: ...
522
+
523
+ class ValidateConfigRequest(_message.Message):
524
+ __slots__ = ("config_type", "config_bytes")
525
+ CONFIG_TYPE_FIELD_NUMBER: _ClassVar[int]
526
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
527
+ config_type: str
528
+ config_bytes: bytes
529
+ def __init__(self, config_type: str | None = ..., config_bytes: bytes | None = ...) -> None: ...
530
+
531
+ class ValidateConfigResponse(_message.Message):
532
+ __slots__ = ("valid", "errors", "warnings")
533
+ VALID_FIELD_NUMBER: _ClassVar[int]
534
+ ERRORS_FIELD_NUMBER: _ClassVar[int]
535
+ WARNINGS_FIELD_NUMBER: _ClassVar[int]
536
+ valid: bool
537
+ errors: _containers.RepeatedScalarFieldContainer[str]
538
+ warnings: _containers.RepeatedScalarFieldContainer[str]
539
+ def __init__(
540
+ self,
541
+ valid: bool = ...,
542
+ errors: _Iterable[str] | None = ...,
543
+ warnings: _Iterable[str] | None = ...,
544
+ ) -> None: ...
545
+
546
+ class LoadPipelineWeightsRequest(_message.Message):
547
+ __slots__ = ("session_id", "weights_path", "weights_bytes", "strict")
548
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
549
+ WEIGHTS_PATH_FIELD_NUMBER: _ClassVar[int]
550
+ WEIGHTS_BYTES_FIELD_NUMBER: _ClassVar[int]
551
+ STRICT_FIELD_NUMBER: _ClassVar[int]
552
+ session_id: str
553
+ weights_path: str
554
+ weights_bytes: bytes
555
+ strict: bool
556
+ def __init__(
557
+ self,
558
+ session_id: str | None = ...,
559
+ weights_path: str | None = ...,
560
+ weights_bytes: bytes | None = ...,
561
+ strict: bool = ...,
562
+ ) -> None: ...
563
+
564
+ class LoadPipelineWeightsResponse(_message.Message):
565
+ __slots__ = ("success", "resolved_path")
566
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
567
+ RESOLVED_PATH_FIELD_NUMBER: _ClassVar[int]
568
+ success: bool
569
+ resolved_path: str
570
+ def __init__(self, success: bool = ..., resolved_path: str | None = ...) -> None: ...
571
+
572
+ class SetTrainRunConfigRequest(_message.Message):
573
+ __slots__ = ("session_id", "config")
574
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
575
+ CONFIG_FIELD_NUMBER: _ClassVar[int]
576
+ session_id: str
577
+ config: TrainRunConfig
578
+ def __init__(
579
+ self, session_id: str | None = ..., config: TrainRunConfig | _Mapping | None = ...
580
+ ) -> None: ...
581
+
582
+ class SetTrainRunConfigResponse(_message.Message):
583
+ __slots__ = ("success", "pipeline_from_config")
584
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
585
+ PIPELINE_FROM_CONFIG_FIELD_NUMBER: _ClassVar[int]
586
+ success: bool
587
+ pipeline_from_config: bool
588
+ def __init__(self, success: bool = ..., pipeline_from_config: bool = ...) -> None: ...
589
+
590
+ class TrainRequest(_message.Message):
591
+ __slots__ = ("session_id", "trainer_type", "data", "training")
592
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
593
+ TRAINER_TYPE_FIELD_NUMBER: _ClassVar[int]
594
+ DATA_FIELD_NUMBER: _ClassVar[int]
595
+ TRAINING_FIELD_NUMBER: _ClassVar[int]
596
+ session_id: str
597
+ trainer_type: TrainerType
598
+ data: DataConfig
599
+ training: TrainingConfig
600
+ def __init__(
601
+ self,
602
+ session_id: str | None = ...,
603
+ trainer_type: TrainerType | str | None = ...,
604
+ data: DataConfig | _Mapping | None = ...,
605
+ training: TrainingConfig | _Mapping | None = ...,
606
+ ) -> None: ...
607
+
608
+ class GetTrainStatusRequest(_message.Message):
609
+ __slots__ = ("session_id",)
610
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
611
+ session_id: str
612
+ def __init__(self, session_id: str | None = ...) -> None: ...
613
+
614
+ class GetTrainStatusResponse(_message.Message):
615
+ __slots__ = ("latest_progress",)
616
+ LATEST_PROGRESS_FIELD_NUMBER: _ClassVar[int]
617
+ latest_progress: TrainResponse
618
+ def __init__(self, latest_progress: TrainResponse | _Mapping | None = ...) -> None: ...
619
+
620
+ class GetTrainingCapabilitiesRequest(_message.Message):
621
+ __slots__ = ()
622
+ def __init__(self) -> None: ...
623
+
624
+ class GetTrainingCapabilitiesResponse(_message.Message):
625
+ __slots__ = (
626
+ "supported_optimizers",
627
+ "supported_schedulers",
628
+ "supported_callbacks",
629
+ "optimizer_params",
630
+ "scheduler_params",
631
+ )
632
+ SUPPORTED_OPTIMIZERS_FIELD_NUMBER: _ClassVar[int]
633
+ SUPPORTED_SCHEDULERS_FIELD_NUMBER: _ClassVar[int]
634
+ SUPPORTED_CALLBACKS_FIELD_NUMBER: _ClassVar[int]
635
+ OPTIMIZER_PARAMS_FIELD_NUMBER: _ClassVar[int]
636
+ SCHEDULER_PARAMS_FIELD_NUMBER: _ClassVar[int]
637
+ supported_optimizers: _containers.RepeatedScalarFieldContainer[str]
638
+ supported_schedulers: _containers.RepeatedScalarFieldContainer[str]
639
+ supported_callbacks: _containers.RepeatedCompositeFieldContainer[CallbackTypeInfo]
640
+ optimizer_params: OptimizerParamsSchema
641
+ scheduler_params: SchedulerParamsSchema
642
+ def __init__(
643
+ self,
644
+ supported_optimizers: _Iterable[str] | None = ...,
645
+ supported_schedulers: _Iterable[str] | None = ...,
646
+ supported_callbacks: _Iterable[CallbackTypeInfo | _Mapping] | None = ...,
647
+ optimizer_params: OptimizerParamsSchema | _Mapping | None = ...,
648
+ scheduler_params: SchedulerParamsSchema | _Mapping | None = ...,
649
+ ) -> None: ...
650
+
651
+ class SavePipelineRequest(_message.Message):
652
+ __slots__ = ("session_id", "pipeline_path", "metadata")
653
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
654
+ PIPELINE_PATH_FIELD_NUMBER: _ClassVar[int]
655
+ METADATA_FIELD_NUMBER: _ClassVar[int]
656
+ session_id: str
657
+ pipeline_path: str
658
+ metadata: PipelineMetadata
659
+ def __init__(
660
+ self,
661
+ session_id: str | None = ...,
662
+ pipeline_path: str | None = ...,
663
+ metadata: PipelineMetadata | _Mapping | None = ...,
664
+ ) -> None: ...
665
+
666
+ class SavePipelineResponse(_message.Message):
667
+ __slots__ = ("success", "pipeline_path", "weights_path")
668
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
669
+ PIPELINE_PATH_FIELD_NUMBER: _ClassVar[int]
670
+ WEIGHTS_PATH_FIELD_NUMBER: _ClassVar[int]
671
+ success: bool
672
+ pipeline_path: str
673
+ weights_path: str
674
+ def __init__(
675
+ self, success: bool = ..., pipeline_path: str | None = ..., weights_path: str | None = ...
676
+ ) -> None: ...
677
+
678
+ class LoadPipelineRequest(_message.Message):
679
+ __slots__ = ("session_id", "pipeline")
680
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
681
+ PIPELINE_FIELD_NUMBER: _ClassVar[int]
682
+ session_id: str
683
+ pipeline: PipelineConfig
684
+ def __init__(
685
+ self, session_id: str | None = ..., pipeline: PipelineConfig | _Mapping | None = ...
686
+ ) -> None: ...
687
+
688
+ class LoadPipelineResponse(_message.Message):
689
+ __slots__ = ("success", "metadata")
690
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
691
+ METADATA_FIELD_NUMBER: _ClassVar[int]
692
+ success: bool
693
+ metadata: PipelineMetadata
694
+ def __init__(
695
+ self, success: bool = ..., metadata: PipelineMetadata | _Mapping | None = ...
696
+ ) -> None: ...
697
+
698
+ class SaveTrainRunRequest(_message.Message):
699
+ __slots__ = ("session_id", "trainrun_path", "save_weights")
700
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
701
+ TRAINRUN_PATH_FIELD_NUMBER: _ClassVar[int]
702
+ SAVE_WEIGHTS_FIELD_NUMBER: _ClassVar[int]
703
+ session_id: str
704
+ trainrun_path: str
705
+ save_weights: bool
706
+ def __init__(
707
+ self,
708
+ session_id: str | None = ...,
709
+ trainrun_path: str | None = ...,
710
+ save_weights: bool = ...,
711
+ ) -> None: ...
712
+
713
+ class SaveTrainRunResponse(_message.Message):
714
+ __slots__ = ("success", "trainrun_path", "pipeline_path", "weights_path")
715
+ SUCCESS_FIELD_NUMBER: _ClassVar[int]
716
+ TRAINRUN_PATH_FIELD_NUMBER: _ClassVar[int]
717
+ PIPELINE_PATH_FIELD_NUMBER: _ClassVar[int]
718
+ WEIGHTS_PATH_FIELD_NUMBER: _ClassVar[int]
719
+ success: bool
720
+ trainrun_path: str
721
+ pipeline_path: str
722
+ weights_path: str
723
+ def __init__(
724
+ self,
725
+ success: bool = ...,
726
+ trainrun_path: str | None = ...,
727
+ pipeline_path: str | None = ...,
728
+ weights_path: str | None = ...,
729
+ ) -> None: ...
730
+
731
+ class RestoreTrainRunRequest(_message.Message):
732
+ __slots__ = ("trainrun_path", "weights_path", "strict")
733
+ TRAINRUN_PATH_FIELD_NUMBER: _ClassVar[int]
734
+ WEIGHTS_PATH_FIELD_NUMBER: _ClassVar[int]
735
+ STRICT_FIELD_NUMBER: _ClassVar[int]
736
+ trainrun_path: str
737
+ weights_path: str
738
+ strict: bool
739
+ def __init__(
740
+ self, trainrun_path: str | None = ..., weights_path: str | None = ..., strict: bool = ...
741
+ ) -> None: ...
742
+
743
+ class RestoreTrainRunResponse(_message.Message):
744
+ __slots__ = ("session_id", "trainrun")
745
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
746
+ TRAINRUN_FIELD_NUMBER: _ClassVar[int]
747
+ session_id: str
748
+ trainrun: TrainRunConfig
749
+ def __init__(
750
+ self, session_id: str | None = ..., trainrun: TrainRunConfig | _Mapping | None = ...
751
+ ) -> None: ...
752
+
753
+ class GetPipelineInputsRequest(_message.Message):
754
+ __slots__ = ("session_id",)
755
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
756
+ session_id: str
757
+ def __init__(self, session_id: str | None = ...) -> None: ...
758
+
759
+ class GetPipelineInputsResponse(_message.Message):
760
+ __slots__ = ("input_names", "input_specs")
761
+ class InputSpecsEntry(_message.Message):
762
+ __slots__ = ("key", "value")
763
+ KEY_FIELD_NUMBER: _ClassVar[int]
764
+ VALUE_FIELD_NUMBER: _ClassVar[int]
765
+ key: str
766
+ value: TensorSpec
767
+ def __init__(
768
+ self, key: str | None = ..., value: TensorSpec | _Mapping | None = ...
769
+ ) -> None: ...
770
+
771
+ INPUT_NAMES_FIELD_NUMBER: _ClassVar[int]
772
+ INPUT_SPECS_FIELD_NUMBER: _ClassVar[int]
773
+ input_names: _containers.RepeatedScalarFieldContainer[str]
774
+ input_specs: _containers.MessageMap[str, TensorSpec]
775
+ def __init__(
776
+ self,
777
+ input_names: _Iterable[str] | None = ...,
778
+ input_specs: _Mapping[str, TensorSpec] | None = ...,
779
+ ) -> None: ...
780
+
781
+ class GetPipelineOutputsRequest(_message.Message):
782
+ __slots__ = ("session_id",)
783
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
784
+ session_id: str
785
+ def __init__(self, session_id: str | None = ...) -> None: ...
786
+
787
+ class GetPipelineOutputsResponse(_message.Message):
788
+ __slots__ = ("output_names", "output_specs")
789
+ class OutputSpecsEntry(_message.Message):
790
+ __slots__ = ("key", "value")
791
+ KEY_FIELD_NUMBER: _ClassVar[int]
792
+ VALUE_FIELD_NUMBER: _ClassVar[int]
793
+ key: str
794
+ value: TensorSpec
795
+ def __init__(
796
+ self, key: str | None = ..., value: TensorSpec | _Mapping | None = ...
797
+ ) -> None: ...
798
+
799
+ OUTPUT_NAMES_FIELD_NUMBER: _ClassVar[int]
800
+ OUTPUT_SPECS_FIELD_NUMBER: _ClassVar[int]
801
+ output_names: _containers.RepeatedScalarFieldContainer[str]
802
+ output_specs: _containers.MessageMap[str, TensorSpec]
803
+ def __init__(
804
+ self,
805
+ output_names: _Iterable[str] | None = ...,
806
+ output_specs: _Mapping[str, TensorSpec] | None = ...,
807
+ ) -> None: ...
808
+
809
+ class GetPipelineVisualizationRequest(_message.Message):
810
+ __slots__ = ("session_id", "format")
811
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
812
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
813
+ session_id: str
814
+ format: str
815
+ def __init__(self, session_id: str | None = ..., format: str | None = ...) -> None: ...
816
+
817
+ class GetPipelineVisualizationResponse(_message.Message):
818
+ __slots__ = ("image_data", "format")
819
+ IMAGE_DATA_FIELD_NUMBER: _ClassVar[int]
820
+ FORMAT_FIELD_NUMBER: _ClassVar[int]
821
+ image_data: bytes
822
+ format: str
823
+ def __init__(self, image_data: bytes | None = ..., format: str | None = ...) -> None: ...
824
+
825
+ class InferenceRequest(_message.Message):
826
+ __slots__ = ("session_id", "inputs", "output_specs")
827
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
828
+ INPUTS_FIELD_NUMBER: _ClassVar[int]
829
+ OUTPUT_SPECS_FIELD_NUMBER: _ClassVar[int]
830
+ session_id: str
831
+ inputs: InputBatch
832
+ output_specs: _containers.RepeatedScalarFieldContainer[str]
833
+ def __init__(
834
+ self,
835
+ session_id: str | None = ...,
836
+ inputs: InputBatch | _Mapping | None = ...,
837
+ output_specs: _Iterable[str] | None = ...,
838
+ ) -> None: ...
839
+
840
+ class InferenceResponse(_message.Message):
841
+ __slots__ = ("outputs", "metrics")
842
+ class OutputsEntry(_message.Message):
843
+ __slots__ = ("key", "value")
844
+ KEY_FIELD_NUMBER: _ClassVar[int]
845
+ VALUE_FIELD_NUMBER: _ClassVar[int]
846
+ key: str
847
+ value: Tensor
848
+ def __init__(
849
+ self, key: str | None = ..., value: Tensor | _Mapping | None = ...
850
+ ) -> None: ...
851
+
852
+ class MetricsEntry(_message.Message):
853
+ __slots__ = ("key", "value")
854
+ KEY_FIELD_NUMBER: _ClassVar[int]
855
+ VALUE_FIELD_NUMBER: _ClassVar[int]
856
+ key: str
857
+ value: float
858
+ def __init__(self, key: str | None = ..., value: float | None = ...) -> None: ...
859
+
860
+ OUTPUTS_FIELD_NUMBER: _ClassVar[int]
861
+ METRICS_FIELD_NUMBER: _ClassVar[int]
862
+ outputs: _containers.MessageMap[str, Tensor]
863
+ metrics: _containers.ScalarMap[str, float]
864
+ def __init__(
865
+ self,
866
+ outputs: _Mapping[str, Tensor] | None = ...,
867
+ metrics: _Mapping[str, float] | None = ...,
868
+ ) -> None: ...
869
+
870
+ class PluginManifest(_message.Message):
871
+ __slots__ = ("config_bytes",)
872
+ CONFIG_BYTES_FIELD_NUMBER: _ClassVar[int]
873
+ config_bytes: bytes
874
+ def __init__(self, config_bytes: bytes | None = ...) -> None: ...
875
+
876
+ class PluginInfo(_message.Message):
877
+ __slots__ = ("name", "type", "source", "tag", "provides")
878
+ NAME_FIELD_NUMBER: _ClassVar[int]
879
+ TYPE_FIELD_NUMBER: _ClassVar[int]
880
+ SOURCE_FIELD_NUMBER: _ClassVar[int]
881
+ TAG_FIELD_NUMBER: _ClassVar[int]
882
+ PROVIDES_FIELD_NUMBER: _ClassVar[int]
883
+ name: str
884
+ type: str
885
+ source: str
886
+ tag: str
887
+ provides: _containers.RepeatedScalarFieldContainer[str]
888
+ def __init__(
889
+ self,
890
+ name: str | None = ...,
891
+ type: str | None = ...,
892
+ source: str | None = ...,
893
+ tag: str | None = ...,
894
+ provides: _Iterable[str] | None = ...,
895
+ ) -> None: ...
896
+
897
+ class PortSpec(_message.Message):
898
+ __slots__ = ("name", "dtype", "shape", "optional", "description")
899
+ NAME_FIELD_NUMBER: _ClassVar[int]
900
+ DTYPE_FIELD_NUMBER: _ClassVar[int]
901
+ SHAPE_FIELD_NUMBER: _ClassVar[int]
902
+ OPTIONAL_FIELD_NUMBER: _ClassVar[int]
903
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
904
+ name: str
905
+ dtype: DType
906
+ shape: _containers.RepeatedScalarFieldContainer[int]
907
+ optional: bool
908
+ description: str
909
+ def __init__(
910
+ self,
911
+ name: str | None = ...,
912
+ dtype: DType | str | None = ...,
913
+ shape: _Iterable[int] | None = ...,
914
+ optional: bool = ...,
915
+ description: str | None = ...,
916
+ ) -> None: ...
917
+
918
+ class PortSpecList(_message.Message):
919
+ __slots__ = ("specs",)
920
+ SPECS_FIELD_NUMBER: _ClassVar[int]
921
+ specs: _containers.RepeatedCompositeFieldContainer[PortSpec]
922
+ def __init__(self, specs: _Iterable[PortSpec | _Mapping] | None = ...) -> None: ...
923
+
924
+ class NodeInfo(_message.Message):
925
+ __slots__ = ("class_name", "full_path", "source", "plugin_name", "input_specs", "output_specs")
926
+ class InputSpecsEntry(_message.Message):
927
+ __slots__ = ("key", "value")
928
+ KEY_FIELD_NUMBER: _ClassVar[int]
929
+ VALUE_FIELD_NUMBER: _ClassVar[int]
930
+ key: str
931
+ value: PortSpecList
932
+ def __init__(
933
+ self, key: str | None = ..., value: PortSpecList | _Mapping | None = ...
934
+ ) -> None: ...
935
+
936
+ class OutputSpecsEntry(_message.Message):
937
+ __slots__ = ("key", "value")
938
+ KEY_FIELD_NUMBER: _ClassVar[int]
939
+ VALUE_FIELD_NUMBER: _ClassVar[int]
940
+ key: str
941
+ value: PortSpecList
942
+ def __init__(
943
+ self, key: str | None = ..., value: PortSpecList | _Mapping | None = ...
944
+ ) -> None: ...
945
+
946
+ CLASS_NAME_FIELD_NUMBER: _ClassVar[int]
947
+ FULL_PATH_FIELD_NUMBER: _ClassVar[int]
948
+ SOURCE_FIELD_NUMBER: _ClassVar[int]
949
+ PLUGIN_NAME_FIELD_NUMBER: _ClassVar[int]
950
+ INPUT_SPECS_FIELD_NUMBER: _ClassVar[int]
951
+ OUTPUT_SPECS_FIELD_NUMBER: _ClassVar[int]
952
+ class_name: str
953
+ full_path: str
954
+ source: str
955
+ plugin_name: str
956
+ input_specs: _containers.MessageMap[str, PortSpecList]
957
+ output_specs: _containers.MessageMap[str, PortSpecList]
958
+ def __init__(
959
+ self,
960
+ class_name: str | None = ...,
961
+ full_path: str | None = ...,
962
+ source: str | None = ...,
963
+ plugin_name: str | None = ...,
964
+ input_specs: _Mapping[str, PortSpecList] | None = ...,
965
+ output_specs: _Mapping[str, PortSpecList] | None = ...,
966
+ ) -> None: ...
967
+
968
+ class LoadPluginsRequest(_message.Message):
969
+ __slots__ = ("session_id", "manifest")
970
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
971
+ MANIFEST_FIELD_NUMBER: _ClassVar[int]
972
+ session_id: str
973
+ manifest: PluginManifest
974
+ def __init__(
975
+ self, session_id: str | None = ..., manifest: PluginManifest | _Mapping | None = ...
976
+ ) -> None: ...
977
+
978
+ class LoadPluginsResponse(_message.Message):
979
+ __slots__ = ("loaded_plugins", "failed_plugins")
980
+ class FailedPluginsEntry(_message.Message):
981
+ __slots__ = ("key", "value")
982
+ KEY_FIELD_NUMBER: _ClassVar[int]
983
+ VALUE_FIELD_NUMBER: _ClassVar[int]
984
+ key: str
985
+ value: str
986
+ def __init__(self, key: str | None = ..., value: str | None = ...) -> None: ...
987
+
988
+ LOADED_PLUGINS_FIELD_NUMBER: _ClassVar[int]
989
+ FAILED_PLUGINS_FIELD_NUMBER: _ClassVar[int]
990
+ loaded_plugins: _containers.RepeatedScalarFieldContainer[str]
991
+ failed_plugins: _containers.ScalarMap[str, str]
992
+ def __init__(
993
+ self,
994
+ loaded_plugins: _Iterable[str] | None = ...,
995
+ failed_plugins: _Mapping[str, str] | None = ...,
996
+ ) -> None: ...
997
+
998
+ class ListLoadedPluginsRequest(_message.Message):
999
+ __slots__ = ("session_id",)
1000
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
1001
+ session_id: str
1002
+ def __init__(self, session_id: str | None = ...) -> None: ...
1003
+
1004
+ class ListLoadedPluginsResponse(_message.Message):
1005
+ __slots__ = ("plugins",)
1006
+ PLUGINS_FIELD_NUMBER: _ClassVar[int]
1007
+ plugins: _containers.RepeatedCompositeFieldContainer[PluginInfo]
1008
+ def __init__(self, plugins: _Iterable[PluginInfo | _Mapping] | None = ...) -> None: ...
1009
+
1010
+ class GetPluginInfoRequest(_message.Message):
1011
+ __slots__ = ("session_id", "plugin_name")
1012
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
1013
+ PLUGIN_NAME_FIELD_NUMBER: _ClassVar[int]
1014
+ session_id: str
1015
+ plugin_name: str
1016
+ def __init__(self, session_id: str | None = ..., plugin_name: str | None = ...) -> None: ...
1017
+
1018
+ class GetPluginInfoResponse(_message.Message):
1019
+ __slots__ = ("plugin",)
1020
+ PLUGIN_FIELD_NUMBER: _ClassVar[int]
1021
+ plugin: PluginInfo
1022
+ def __init__(self, plugin: PluginInfo | _Mapping | None = ...) -> None: ...
1023
+
1024
+ class ListAvailableNodesRequest(_message.Message):
1025
+ __slots__ = ("session_id",)
1026
+ SESSION_ID_FIELD_NUMBER: _ClassVar[int]
1027
+ session_id: str
1028
+ def __init__(self, session_id: str | None = ...) -> None: ...
1029
+
1030
+ class ListAvailableNodesResponse(_message.Message):
1031
+ __slots__ = ("nodes",)
1032
+ NODES_FIELD_NUMBER: _ClassVar[int]
1033
+ nodes: _containers.RepeatedCompositeFieldContainer[NodeInfo]
1034
+ def __init__(self, nodes: _Iterable[NodeInfo | _Mapping] | None = ...) -> None: ...
1035
+
1036
+ class ClearPluginCacheRequest(_message.Message):
1037
+ __slots__ = ("plugin_name",)
1038
+ PLUGIN_NAME_FIELD_NUMBER: _ClassVar[int]
1039
+ plugin_name: str
1040
+ def __init__(self, plugin_name: str | None = ...) -> None: ...
1041
+
1042
+ class ClearPluginCacheResponse(_message.Message):
1043
+ __slots__ = ("cleared_count",)
1044
+ CLEARED_COUNT_FIELD_NUMBER: _ClassVar[int]
1045
+ cleared_count: int
1046
+ def __init__(self, cleared_count: int | None = ...) -> None: ...