transport-wrapper 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 (91) hide show
  1. sapient_msg/__init__.py +7 -0
  2. sapient_msg/_exports.py +60 -0
  3. sapient_msg/bsi_flex_335_v2_0/__init__.py +5 -0
  4. sapient_msg/bsi_flex_335_v2_0/alert.proto +66 -0
  5. sapient_msg/bsi_flex_335_v2_0/alert_ack.proto +33 -0
  6. sapient_msg/bsi_flex_335_v2_0/alert_ack_pb2.py +34 -0
  7. sapient_msg/bsi_flex_335_v2_0/alert_ack_pb2.pyi +28 -0
  8. sapient_msg/bsi_flex_335_v2_0/alert_pb2.py +42 -0
  9. sapient_msg/bsi_flex_335_v2_0/alert_pb2.pyi +82 -0
  10. sapient_msg/bsi_flex_335_v2_0/associated_detection.proto +32 -0
  11. sapient_msg/bsi_flex_335_v2_0/associated_detection_pb2.py +35 -0
  12. sapient_msg/bsi_flex_335_v2_0/associated_detection_pb2.pyi +33 -0
  13. sapient_msg/bsi_flex_335_v2_0/associated_file.proto +21 -0
  14. sapient_msg/bsi_flex_335_v2_0/associated_file_pb2.py +32 -0
  15. sapient_msg/bsi_flex_335_v2_0/associated_file_pb2.pyi +14 -0
  16. sapient_msg/bsi_flex_335_v2_0/detection_report.proto +102 -0
  17. sapient_msg/bsi_flex_335_v2_0/detection_report_pb2.py +76 -0
  18. sapient_msg/bsi_flex_335_v2_0/detection_report_pb2.pyi +122 -0
  19. sapient_msg/bsi_flex_335_v2_0/error.proto +24 -0
  20. sapient_msg/bsi_flex_335_v2_0/error_pb2.py +30 -0
  21. sapient_msg/bsi_flex_335_v2_0/error_pb2.pyi +15 -0
  22. sapient_msg/bsi_flex_335_v2_0/follow.proto +21 -0
  23. sapient_msg/bsi_flex_335_v2_0/follow_pb2.py +30 -0
  24. sapient_msg/bsi_flex_335_v2_0/follow_pb2.pyi +12 -0
  25. sapient_msg/bsi_flex_335_v2_0/location.proto +48 -0
  26. sapient_msg/bsi_flex_335_v2_0/location_pb2.py +44 -0
  27. sapient_msg/bsi_flex_335_v2_0/location_pb2.pyi +56 -0
  28. sapient_msg/bsi_flex_335_v2_0/range_bearing.proto +70 -0
  29. sapient_msg/bsi_flex_335_v2_0/range_bearing_pb2.py +47 -0
  30. sapient_msg/bsi_flex_335_v2_0/range_bearing_pb2.pyi +90 -0
  31. sapient_msg/bsi_flex_335_v2_0/registration.proto +319 -0
  32. sapient_msg/bsi_flex_335_v2_0/registration_ack.proto +24 -0
  33. sapient_msg/bsi_flex_335_v2_0/registration_ack_pb2.py +30 -0
  34. sapient_msg/bsi_flex_335_v2_0/registration_ack_pb2.pyi +15 -0
  35. sapient_msg/bsi_flex_335_v2_0/registration_pb2.py +219 -0
  36. sapient_msg/bsi_flex_335_v2_0/registration_pb2.pyi +503 -0
  37. sapient_msg/bsi_flex_335_v2_0/sapient_message.proto +57 -0
  38. sapient_msg/bsi_flex_335_v2_0/sapient_message_pb2.py +46 -0
  39. sapient_msg/bsi_flex_335_v2_0/sapient_message_pb2.pyi +46 -0
  40. sapient_msg/bsi_flex_335_v2_0/status_report.proto +111 -0
  41. sapient_msg/bsi_flex_335_v2_0/status_report_pb2.py +58 -0
  42. sapient_msg/bsi_flex_335_v2_0/status_report_pb2.pyi +142 -0
  43. sapient_msg/bsi_flex_335_v2_0/task.proto +116 -0
  44. sapient_msg/bsi_flex_335_v2_0/task_ack.proto +35 -0
  45. sapient_msg/bsi_flex_335_v2_0/task_ack_pb2.py +35 -0
  46. sapient_msg/bsi_flex_335_v2_0/task_ack_pb2.pyi +33 -0
  47. sapient_msg/bsi_flex_335_v2_0/task_pb2.py +81 -0
  48. sapient_msg/bsi_flex_335_v2_0/task_pb2.pyi +145 -0
  49. sapient_msg/bsi_flex_335_v2_0/velocity.proto +47 -0
  50. sapient_msg/bsi_flex_335_v2_0/velocity_pb2.py +38 -0
  51. sapient_msg/bsi_flex_335_v2_0/velocity_pb2.pyi +40 -0
  52. sapient_msg/latest/__init__.py +5 -0
  53. sapient_msg/latest/alert_ack_pb2.py +34 -0
  54. sapient_msg/latest/alert_ack_pb2.pyi +28 -0
  55. sapient_msg/latest/alert_pb2.py +42 -0
  56. sapient_msg/latest/alert_pb2.pyi +82 -0
  57. sapient_msg/latest/associated_detection_pb2.py +35 -0
  58. sapient_msg/latest/associated_detection_pb2.pyi +33 -0
  59. sapient_msg/latest/associated_file_pb2.py +32 -0
  60. sapient_msg/latest/associated_file_pb2.pyi +14 -0
  61. sapient_msg/latest/detection_report_pb2.py +76 -0
  62. sapient_msg/latest/detection_report_pb2.pyi +122 -0
  63. sapient_msg/latest/error_pb2.py +30 -0
  64. sapient_msg/latest/error_pb2.pyi +15 -0
  65. sapient_msg/latest/follow_pb2.py +30 -0
  66. sapient_msg/latest/follow_pb2.pyi +12 -0
  67. sapient_msg/latest/location_pb2.py +44 -0
  68. sapient_msg/latest/location_pb2.pyi +56 -0
  69. sapient_msg/latest/range_bearing_pb2.py +47 -0
  70. sapient_msg/latest/range_bearing_pb2.pyi +90 -0
  71. sapient_msg/latest/registration_ack_pb2.py +30 -0
  72. sapient_msg/latest/registration_ack_pb2.pyi +15 -0
  73. sapient_msg/latest/registration_pb2.py +219 -0
  74. sapient_msg/latest/registration_pb2.pyi +503 -0
  75. sapient_msg/latest/sapient_message_pb2.py +46 -0
  76. sapient_msg/latest/sapient_message_pb2.pyi +46 -0
  77. sapient_msg/latest/status_report_pb2.py +58 -0
  78. sapient_msg/latest/status_report_pb2.pyi +142 -0
  79. sapient_msg/latest/task_ack_pb2.py +35 -0
  80. sapient_msg/latest/task_ack_pb2.pyi +33 -0
  81. sapient_msg/latest/task_pb2.py +81 -0
  82. sapient_msg/latest/task_pb2.pyi +145 -0
  83. sapient_msg/latest/velocity_pb2.py +38 -0
  84. sapient_msg/latest/velocity_pb2.pyi +40 -0
  85. sapient_msg/proto_options.proto +58 -0
  86. sapient_msg/proto_options_pb2.py +32 -0
  87. sapient_msg/proto_options_pb2.pyi +58 -0
  88. transport_wrapper-0.1.0.dist-info/METADATA +120 -0
  89. transport_wrapper-0.1.0.dist-info/RECORD +91 -0
  90. transport_wrapper-0.1.0.dist-info/WHEEL +4 -0
  91. transport_wrapper-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,7 @@
1
+ """SAPIENT protobuf bindings."""
2
+
3
+ from sapient_msg._exports import _ROOT_PUBLIC_NAMES, make_getattr, make_root_dir
4
+
5
+ __all__ = list(_ROOT_PUBLIC_NAMES)
6
+ __getattr__ = make_getattr(__name__)
7
+ __dir__ = make_root_dir
@@ -0,0 +1,60 @@
1
+ from __future__ import annotations
2
+
3
+ import importlib
4
+ from typing import Final
5
+
6
+ PB2_MODULES: Final[frozenset[str]] = frozenset(
7
+ {
8
+ "alert_ack_pb2",
9
+ "alert_pb2",
10
+ "associated_detection_pb2",
11
+ "associated_file_pb2",
12
+ "detection_report_pb2",
13
+ "error_pb2",
14
+ "follow_pb2",
15
+ "location_pb2",
16
+ "range_bearing_pb2",
17
+ "registration_ack_pb2",
18
+ "registration_pb2",
19
+ "sapient_message_pb2",
20
+ "status_report_pb2",
21
+ "task_ack_pb2",
22
+ "task_pb2",
23
+ "velocity_pb2",
24
+ }
25
+ )
26
+
27
+ _ROOT_PUBLIC_NAMES: Final[tuple[str, ...]] = ("proto_options_pb2", *sorted(PB2_MODULES))
28
+ _VERSION_PUBLIC_NAMES: Final[tuple[str, ...]] = tuple(sorted(PB2_MODULES))
29
+
30
+
31
+ def _resolve_module(package: str, name: str, *, version: str | None) -> object:
32
+ if name == "proto_options_pb2":
33
+ if version is not None:
34
+ raise AttributeError(f"module {package!r} has no attribute {name!r}")
35
+ return importlib.import_module("sapient_msg.proto_options_pb2")
36
+
37
+ if name not in PB2_MODULES:
38
+ raise AttributeError(f"module {package!r} has no attribute {name!r}")
39
+
40
+ if version is None:
41
+ module_name = f"sapient_msg.latest.{name}"
42
+ else:
43
+ module_name = f"sapient_msg.{version}.{name}"
44
+
45
+ return importlib.import_module(module_name)
46
+
47
+
48
+ def make_getattr(package: str, *, version: str | None = None):
49
+ def __getattr__(name: str) -> object:
50
+ return _resolve_module(package, name, version=version)
51
+
52
+ return __getattr__
53
+
54
+
55
+ def make_root_dir() -> list[str]:
56
+ return list(_ROOT_PUBLIC_NAMES)
57
+
58
+
59
+ def make_version_dir() -> list[str]:
60
+ return list(_VERSION_PUBLIC_NAMES)
@@ -0,0 +1,5 @@
1
+ from sapient_msg._exports import _VERSION_PUBLIC_NAMES, make_getattr, make_version_dir
2
+
3
+ __all__ = list(_VERSION_PUBLIC_NAMES)
4
+ __getattr__ = make_getattr(__name__, version="bsi_flex_335_v2_0")
5
+ __dir__ = make_version_dir
@@ -0,0 +1,66 @@
1
+ // Dstl (c) Crown Copyright 2024
2
+ //
3
+ // [START declaration]
4
+ syntax = "proto3";
5
+ package sapient_msg.bsi_flex_335_v2_0;
6
+
7
+ import "sapient_msg/bsi_flex_335_v2_0/associated_detection.proto";
8
+ import "sapient_msg/bsi_flex_335_v2_0/associated_file.proto";
9
+ import "sapient_msg/bsi_flex_335_v2_0/location.proto";
10
+ import "sapient_msg/bsi_flex_335_v2_0/range_bearing.proto";
11
+ import "sapient_msg/proto_options.proto";
12
+ // [END declaration]
13
+
14
+ // [START java_declaration]
15
+ option java_multiple_files = true;
16
+ option java_package = "uk.gov.dstl.sapientmsg.bsiflex335v2";
17
+ option java_outer_classname = "AlertProto";
18
+ // [END java_declaration]
19
+
20
+
21
+ // [START messages]
22
+ message Alert {
23
+
24
+ optional string alert_id = 1 [(field_options) = {is_mandatory: true, is_ulid: true}]; // ULID for the message
25
+ optional AlertType alert_type = 2; // Type of alert message
26
+ optional AlertStatus status = 3; // State of the information in this message
27
+ optional string description = 4; // Description of the alert (normally displayed on a GUI)
28
+ oneof location_oneof { // The position of the event/object that caused the alert
29
+ RangeBearing range_bearing = 5; // Location of the alert in Sphereical coordinates
30
+ Location location = 6; // Location of the alert in Geo coordinates
31
+ }
32
+ optional string region_id = 7 [(field_options) = {is_ulid: true}]; // ULID of the region the alert is from
33
+ optional DiscretePriority priority = 8; // Priority of the alert
34
+ optional float ranking = 9; // 0-1
35
+ optional float confidence = 10; // Confidence (0-1) that the alert is not a false-alarm
36
+ repeated AssociatedFile associated_file = 11; // URL linking to any files associated with the alert
37
+ repeated AssociatedDetection associated_detection = 12; // Detections associated with the alert
38
+ optional string additional_information = 13; // Any additional information that may be useful for the alert consumer
39
+
40
+ enum AlertType {
41
+ ALERT_TYPE_UNSPECIFIED = 0; // Unset enum
42
+ ALERT_TYPE_INFORMATION = 1;
43
+ ALERT_TYPE_WARNING = 2;
44
+ ALERT_TYPE_CRITICAL = 3;
45
+ ALERT_TYPE_ERROR = 4;
46
+ ALERT_TYPE_FATAL = 5;
47
+ ALERT_TYPE_MODE_CHANGE = 6;
48
+ }
49
+
50
+ enum AlertStatus {
51
+ ALERT_STATUS_UNSPECIFIED = 0; // Unset enum
52
+ ALERT_STATUS_ACTIVE = 1;
53
+ ALERT_STATUS_ACKNOWLEDGE = 2;
54
+ ALERT_STATUS_REJECT = 3;
55
+ ALERT_STATUS_IGNORE = 4;
56
+ ALERT_STATUS_CLEAR = 5;
57
+ }
58
+
59
+ enum DiscretePriority {
60
+ DISCRETE_PRIORITY_UNSPECIFIED = 0; // Alert priority not set
61
+ DISCRETE_PRIORITY_LOW = 1; // Low alert priority
62
+ DISCRETE_PRIORITY_MEDIUM = 2; // Medium alert priority
63
+ DISCRETE_PRIORITY_HIGH = 3; // High alert priority
64
+ }
65
+ }
66
+ // [END messages]
@@ -0,0 +1,33 @@
1
+ // Dstl (c) Crown Copyright 2024
2
+ //
3
+ // [START declaration]
4
+ syntax = "proto3";
5
+ package sapient_msg.bsi_flex_335_v2_0;
6
+
7
+ import "sapient_msg/proto_options.proto";
8
+ // [END declaration]
9
+
10
+ // [START java_declaration]
11
+ option java_multiple_files = true;
12
+ option java_package = "uk.gov.dstl.sapientmsg.bsiflex335v2";
13
+ option java_outer_classname = "AlertAckProto";
14
+ // [END java_declaration]
15
+
16
+
17
+ // [START messages]
18
+ message AlertAck {
19
+ reserved 2,3; // Reason field has been changed to an array to allow multiple reasons for rejection/failure to be reported
20
+ optional string alert_id = 1 [(field_options) = {is_mandatory: true, is_ulid: true}]; // ULID for the message
21
+ // optional AlertStatus alert_status = 2 [(field_options) = {is_mandatory: true}]; // State of the information in this message
22
+ // optional string reason = 3; // Reason why alert was not accepted
23
+ repeated string reason = 4; // Reason(s) why alert was not accepted
24
+ optional AlertAckStatus alert_ack_status = 5 [(field_options) = {is_mandatory: true}]; // State of the information in this message
25
+
26
+ enum AlertAckStatus {
27
+ ALERT_ACK_STATUS_UNSPECIFIED = 0; // Reason not set
28
+ ALERT_ACK_STATUS_ACCEPTED = 1; // Alert accepted
29
+ ALERT_ACK_STATUS_REJECTED = 2; // Alert rejected
30
+ ALERT_ACK_STATUS_CANCELLED = 3; // Alert cancelled
31
+ }
32
+ }
33
+ // [END messages]
@@ -0,0 +1,34 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sapient_msg/bsi_flex_335_v2_0/alert_ack.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from sapient_msg import proto_options_pb2 as sapient__msg_dot_proto__options__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sapient_msg/bsi_flex_335_v2_0/alert_ack.proto\x12\x1dsapient_msg.bsi_flex_335_v2_0\x1a\x1fsapient_msg/proto_options.proto\"\xdb\x02\n\x08\x41lertAck\x12\x1f\n\x08\x61lert_id\x18\x01 \x01(\tB\x08\x8a\xb5\x18\x04\x08\x01\x10\x01H\x00\x88\x01\x01\x12\x0e\n\x06reason\x18\x04 \x03(\t\x12]\n\x10\x61lert_ack_status\x18\x05 \x01(\x0e\x32\x36.sapient_msg.bsi_flex_335_v2_0.AlertAck.AlertAckStatusB\x06\x8a\xb5\x18\x02\x08\x01H\x01\x88\x01\x01\"\x90\x01\n\x0e\x41lertAckStatus\x12 \n\x1c\x41LERT_ACK_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x41LERT_ACK_STATUS_ACCEPTED\x10\x01\x12\x1d\n\x19\x41LERT_ACK_STATUS_REJECTED\x10\x02\x12\x1e\n\x1a\x41LERT_ACK_STATUS_CANCELLED\x10\x03\x42\x0b\n\t_alert_idB\x13\n\x11_alert_ack_statusJ\x04\x08\x02\x10\x03J\x04\x08\x03\x10\x04\x42\x36\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\rAlertAckProtoP\x01\x62\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapient_msg.bsi_flex_335_v2_0.alert_ack_pb2', _globals)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ _globals['DESCRIPTOR']._options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\rAlertAckProtoP\001'
26
+ _globals['_ALERTACK'].fields_by_name['alert_id']._options = None
27
+ _globals['_ALERTACK'].fields_by_name['alert_id']._serialized_options = b'\212\265\030\004\010\001\020\001'
28
+ _globals['_ALERTACK'].fields_by_name['alert_ack_status']._options = None
29
+ _globals['_ALERTACK'].fields_by_name['alert_ack_status']._serialized_options = b'\212\265\030\002\010\001'
30
+ _globals['_ALERTACK']._serialized_start=114
31
+ _globals['_ALERTACK']._serialized_end=461
32
+ _globals['_ALERTACK_ALERTACKSTATUS']._serialized_start=271
33
+ _globals['_ALERTACK_ALERTACKSTATUS']._serialized_end=415
34
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,28 @@
1
+ from sapient_msg import proto_options_pb2 as _proto_options_pb2
2
+ from google.protobuf.internal import containers as _containers
3
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class AlertAck(_message.Message):
11
+ __slots__ = ("alert_id", "reason", "alert_ack_status")
12
+ class AlertAckStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
13
+ __slots__ = ()
14
+ ALERT_ACK_STATUS_UNSPECIFIED: _ClassVar[AlertAck.AlertAckStatus]
15
+ ALERT_ACK_STATUS_ACCEPTED: _ClassVar[AlertAck.AlertAckStatus]
16
+ ALERT_ACK_STATUS_REJECTED: _ClassVar[AlertAck.AlertAckStatus]
17
+ ALERT_ACK_STATUS_CANCELLED: _ClassVar[AlertAck.AlertAckStatus]
18
+ ALERT_ACK_STATUS_UNSPECIFIED: AlertAck.AlertAckStatus
19
+ ALERT_ACK_STATUS_ACCEPTED: AlertAck.AlertAckStatus
20
+ ALERT_ACK_STATUS_REJECTED: AlertAck.AlertAckStatus
21
+ ALERT_ACK_STATUS_CANCELLED: AlertAck.AlertAckStatus
22
+ ALERT_ID_FIELD_NUMBER: _ClassVar[int]
23
+ REASON_FIELD_NUMBER: _ClassVar[int]
24
+ ALERT_ACK_STATUS_FIELD_NUMBER: _ClassVar[int]
25
+ alert_id: str
26
+ reason: _containers.RepeatedScalarFieldContainer[str]
27
+ alert_ack_status: AlertAck.AlertAckStatus
28
+ def __init__(self, alert_id: _Optional[str] = ..., reason: _Optional[_Iterable[str]] = ..., alert_ack_status: _Optional[_Union[AlertAck.AlertAckStatus, str]] = ...) -> None: ...
@@ -0,0 +1,42 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sapient_msg/bsi_flex_335_v2_0/alert.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from sapient_msg.bsi_flex_335_v2_0 import associated_detection_pb2 as sapient__msg_dot_bsi__flex__335__v2__0_dot_associated__detection__pb2
16
+ from sapient_msg.bsi_flex_335_v2_0 import associated_file_pb2 as sapient__msg_dot_bsi__flex__335__v2__0_dot_associated__file__pb2
17
+ from sapient_msg.bsi_flex_335_v2_0 import location_pb2 as sapient__msg_dot_bsi__flex__335__v2__0_dot_location__pb2
18
+ from sapient_msg.bsi_flex_335_v2_0 import range_bearing_pb2 as sapient__msg_dot_bsi__flex__335__v2__0_dot_range__bearing__pb2
19
+ from sapient_msg import proto_options_pb2 as sapient__msg_dot_proto__options__pb2
20
+
21
+
22
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)sapient_msg/bsi_flex_335_v2_0/alert.proto\x12\x1dsapient_msg.bsi_flex_335_v2_0\x1a\x38sapient_msg/bsi_flex_335_v2_0/associated_detection.proto\x1a\x33sapient_msg/bsi_flex_335_v2_0/associated_file.proto\x1a,sapient_msg/bsi_flex_335_v2_0/location.proto\x1a\x31sapient_msg/bsi_flex_335_v2_0/range_bearing.proto\x1a\x1fsapient_msg/proto_options.proto\"\xc6\n\n\x05\x41lert\x12\x1f\n\x08\x61lert_id\x18\x01 \x01(\tB\x08\x8a\xb5\x18\x04\x08\x01\x10\x01H\x01\x88\x01\x01\x12G\n\nalert_type\x18\x02 \x01(\x0e\x32..sapient_msg.bsi_flex_335_v2_0.Alert.AlertTypeH\x02\x88\x01\x01\x12\x45\n\x06status\x18\x03 \x01(\x0e\x32\x30.sapient_msg.bsi_flex_335_v2_0.Alert.AlertStatusH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x04\x88\x01\x01\x12\x44\n\rrange_bearing\x18\x05 \x01(\x0b\x32+.sapient_msg.bsi_flex_335_v2_0.RangeBearingH\x00\x12;\n\x08location\x18\x06 \x01(\x0b\x32\'.sapient_msg.bsi_flex_335_v2_0.LocationH\x00\x12\x1e\n\tregion_id\x18\x07 \x01(\tB\x06\x8a\xb5\x18\x02\x10\x01H\x05\x88\x01\x01\x12L\n\x08priority\x18\x08 \x01(\x0e\x32\x35.sapient_msg.bsi_flex_335_v2_0.Alert.DiscretePriorityH\x06\x88\x01\x01\x12\x14\n\x07ranking\x18\t \x01(\x02H\x07\x88\x01\x01\x12\x17\n\nconfidence\x18\n \x01(\x02H\x08\x88\x01\x01\x12\x46\n\x0f\x61ssociated_file\x18\x0b \x03(\x0b\x32-.sapient_msg.bsi_flex_335_v2_0.AssociatedFile\x12P\n\x14\x61ssociated_detection\x18\x0c \x03(\x0b\x32\x32.sapient_msg.bsi_flex_335_v2_0.AssociatedDetection\x12#\n\x16\x61\x64\x64itional_information\x18\r \x01(\tH\t\x88\x01\x01\"\xbc\x01\n\tAlertType\x12\x1a\n\x16\x41LERT_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x41LERT_TYPE_INFORMATION\x10\x01\x12\x16\n\x12\x41LERT_TYPE_WARNING\x10\x02\x12\x17\n\x13\x41LERT_TYPE_CRITICAL\x10\x03\x12\x14\n\x10\x41LERT_TYPE_ERROR\x10\x04\x12\x14\n\x10\x41LERT_TYPE_FATAL\x10\x05\x12\x1a\n\x16\x41LERT_TYPE_MODE_CHANGE\x10\x06\"\xac\x01\n\x0b\x41lertStatus\x12\x1c\n\x18\x41LERT_STATUS_UNSPECIFIED\x10\x00\x12\x17\n\x13\x41LERT_STATUS_ACTIVE\x10\x01\x12\x1c\n\x18\x41LERT_STATUS_ACKNOWLEDGE\x10\x02\x12\x17\n\x13\x41LERT_STATUS_REJECT\x10\x03\x12\x17\n\x13\x41LERT_STATUS_IGNORE\x10\x04\x12\x16\n\x12\x41LERT_STATUS_CLEAR\x10\x05\"\x8a\x01\n\x10\x44iscretePriority\x12!\n\x1d\x44ISCRETE_PRIORITY_UNSPECIFIED\x10\x00\x12\x19\n\x15\x44ISCRETE_PRIORITY_LOW\x10\x01\x12\x1c\n\x18\x44ISCRETE_PRIORITY_MEDIUM\x10\x02\x12\x1a\n\x16\x44ISCRETE_PRIORITY_HIGH\x10\x03\x42\x10\n\x0elocation_oneofB\x0b\n\t_alert_idB\r\n\x0b_alert_typeB\t\n\x07_statusB\x0e\n\x0c_descriptionB\x0c\n\n_region_idB\x0b\n\t_priorityB\n\n\x08_rankingB\r\n\x0b_confidenceB\x19\n\x17_additional_informationB3\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\nAlertProtoP\x01\x62\x06proto3')
23
+
24
+ _globals = globals()
25
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
26
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapient_msg.bsi_flex_335_v2_0.alert_pb2', _globals)
27
+ if _descriptor._USE_C_DESCRIPTORS == False:
28
+ _globals['DESCRIPTOR']._options = None
29
+ _globals['DESCRIPTOR']._serialized_options = b'\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\nAlertProtoP\001'
30
+ _globals['_ALERT'].fields_by_name['alert_id']._options = None
31
+ _globals['_ALERT'].fields_by_name['alert_id']._serialized_options = b'\212\265\030\004\010\001\020\001'
32
+ _globals['_ALERT'].fields_by_name['region_id']._options = None
33
+ _globals['_ALERT'].fields_by_name['region_id']._serialized_options = b'\212\265\030\002\020\001'
34
+ _globals['_ALERT']._serialized_start=318
35
+ _globals['_ALERT']._serialized_end=1668
36
+ _globals['_ALERT_ALERTTYPE']._serialized_start=1010
37
+ _globals['_ALERT_ALERTTYPE']._serialized_end=1198
38
+ _globals['_ALERT_ALERTSTATUS']._serialized_start=1201
39
+ _globals['_ALERT_ALERTSTATUS']._serialized_end=1373
40
+ _globals['_ALERT_DISCRETEPRIORITY']._serialized_start=1376
41
+ _globals['_ALERT_DISCRETEPRIORITY']._serialized_end=1514
42
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,82 @@
1
+ from sapient_msg.bsi_flex_335_v2_0 import associated_detection_pb2 as _associated_detection_pb2
2
+ from sapient_msg.bsi_flex_335_v2_0 import associated_file_pb2 as _associated_file_pb2
3
+ from sapient_msg.bsi_flex_335_v2_0 import location_pb2 as _location_pb2
4
+ from sapient_msg.bsi_flex_335_v2_0 import range_bearing_pb2 as _range_bearing_pb2
5
+ from sapient_msg import proto_options_pb2 as _proto_options_pb2
6
+ from google.protobuf.internal import containers as _containers
7
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
8
+ from google.protobuf import descriptor as _descriptor
9
+ from google.protobuf import message as _message
10
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
11
+
12
+ DESCRIPTOR: _descriptor.FileDescriptor
13
+
14
+ class Alert(_message.Message):
15
+ __slots__ = ("alert_id", "alert_type", "status", "description", "range_bearing", "location", "region_id", "priority", "ranking", "confidence", "associated_file", "associated_detection", "additional_information")
16
+ class AlertType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
17
+ __slots__ = ()
18
+ ALERT_TYPE_UNSPECIFIED: _ClassVar[Alert.AlertType]
19
+ ALERT_TYPE_INFORMATION: _ClassVar[Alert.AlertType]
20
+ ALERT_TYPE_WARNING: _ClassVar[Alert.AlertType]
21
+ ALERT_TYPE_CRITICAL: _ClassVar[Alert.AlertType]
22
+ ALERT_TYPE_ERROR: _ClassVar[Alert.AlertType]
23
+ ALERT_TYPE_FATAL: _ClassVar[Alert.AlertType]
24
+ ALERT_TYPE_MODE_CHANGE: _ClassVar[Alert.AlertType]
25
+ ALERT_TYPE_UNSPECIFIED: Alert.AlertType
26
+ ALERT_TYPE_INFORMATION: Alert.AlertType
27
+ ALERT_TYPE_WARNING: Alert.AlertType
28
+ ALERT_TYPE_CRITICAL: Alert.AlertType
29
+ ALERT_TYPE_ERROR: Alert.AlertType
30
+ ALERT_TYPE_FATAL: Alert.AlertType
31
+ ALERT_TYPE_MODE_CHANGE: Alert.AlertType
32
+ class AlertStatus(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
33
+ __slots__ = ()
34
+ ALERT_STATUS_UNSPECIFIED: _ClassVar[Alert.AlertStatus]
35
+ ALERT_STATUS_ACTIVE: _ClassVar[Alert.AlertStatus]
36
+ ALERT_STATUS_ACKNOWLEDGE: _ClassVar[Alert.AlertStatus]
37
+ ALERT_STATUS_REJECT: _ClassVar[Alert.AlertStatus]
38
+ ALERT_STATUS_IGNORE: _ClassVar[Alert.AlertStatus]
39
+ ALERT_STATUS_CLEAR: _ClassVar[Alert.AlertStatus]
40
+ ALERT_STATUS_UNSPECIFIED: Alert.AlertStatus
41
+ ALERT_STATUS_ACTIVE: Alert.AlertStatus
42
+ ALERT_STATUS_ACKNOWLEDGE: Alert.AlertStatus
43
+ ALERT_STATUS_REJECT: Alert.AlertStatus
44
+ ALERT_STATUS_IGNORE: Alert.AlertStatus
45
+ ALERT_STATUS_CLEAR: Alert.AlertStatus
46
+ class DiscretePriority(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
47
+ __slots__ = ()
48
+ DISCRETE_PRIORITY_UNSPECIFIED: _ClassVar[Alert.DiscretePriority]
49
+ DISCRETE_PRIORITY_LOW: _ClassVar[Alert.DiscretePriority]
50
+ DISCRETE_PRIORITY_MEDIUM: _ClassVar[Alert.DiscretePriority]
51
+ DISCRETE_PRIORITY_HIGH: _ClassVar[Alert.DiscretePriority]
52
+ DISCRETE_PRIORITY_UNSPECIFIED: Alert.DiscretePriority
53
+ DISCRETE_PRIORITY_LOW: Alert.DiscretePriority
54
+ DISCRETE_PRIORITY_MEDIUM: Alert.DiscretePriority
55
+ DISCRETE_PRIORITY_HIGH: Alert.DiscretePriority
56
+ ALERT_ID_FIELD_NUMBER: _ClassVar[int]
57
+ ALERT_TYPE_FIELD_NUMBER: _ClassVar[int]
58
+ STATUS_FIELD_NUMBER: _ClassVar[int]
59
+ DESCRIPTION_FIELD_NUMBER: _ClassVar[int]
60
+ RANGE_BEARING_FIELD_NUMBER: _ClassVar[int]
61
+ LOCATION_FIELD_NUMBER: _ClassVar[int]
62
+ REGION_ID_FIELD_NUMBER: _ClassVar[int]
63
+ PRIORITY_FIELD_NUMBER: _ClassVar[int]
64
+ RANKING_FIELD_NUMBER: _ClassVar[int]
65
+ CONFIDENCE_FIELD_NUMBER: _ClassVar[int]
66
+ ASSOCIATED_FILE_FIELD_NUMBER: _ClassVar[int]
67
+ ASSOCIATED_DETECTION_FIELD_NUMBER: _ClassVar[int]
68
+ ADDITIONAL_INFORMATION_FIELD_NUMBER: _ClassVar[int]
69
+ alert_id: str
70
+ alert_type: Alert.AlertType
71
+ status: Alert.AlertStatus
72
+ description: str
73
+ range_bearing: _range_bearing_pb2.RangeBearing
74
+ location: _location_pb2.Location
75
+ region_id: str
76
+ priority: Alert.DiscretePriority
77
+ ranking: float
78
+ confidence: float
79
+ associated_file: _containers.RepeatedCompositeFieldContainer[_associated_file_pb2.AssociatedFile]
80
+ associated_detection: _containers.RepeatedCompositeFieldContainer[_associated_detection_pb2.AssociatedDetection]
81
+ additional_information: str
82
+ def __init__(self, alert_id: _Optional[str] = ..., alert_type: _Optional[_Union[Alert.AlertType, str]] = ..., status: _Optional[_Union[Alert.AlertStatus, str]] = ..., description: _Optional[str] = ..., range_bearing: _Optional[_Union[_range_bearing_pb2.RangeBearing, _Mapping]] = ..., location: _Optional[_Union[_location_pb2.Location, _Mapping]] = ..., region_id: _Optional[str] = ..., priority: _Optional[_Union[Alert.DiscretePriority, str]] = ..., ranking: _Optional[float] = ..., confidence: _Optional[float] = ..., associated_file: _Optional[_Iterable[_Union[_associated_file_pb2.AssociatedFile, _Mapping]]] = ..., associated_detection: _Optional[_Iterable[_Union[_associated_detection_pb2.AssociatedDetection, _Mapping]]] = ..., additional_information: _Optional[str] = ...) -> None: ...
@@ -0,0 +1,32 @@
1
+ // Dstl (c) Crown Copyright 2024
2
+ //
3
+ // [START declaration]
4
+ syntax = "proto3";
5
+ package sapient_msg.bsi_flex_335_v2_0;
6
+
7
+ import "google/protobuf/timestamp.proto";
8
+ import "sapient_msg/proto_options.proto";
9
+ // [END declaration]
10
+
11
+ // [START java_declaration]
12
+ option java_multiple_files = true;
13
+ option java_package = "uk.gov.dstl.sapientmsg.bsiflex335v2";
14
+ option java_outer_classname = "AssociatedDetectionProto";
15
+ // [END java_declaration]
16
+
17
+ // [START messages]
18
+ message AssociatedDetection {
19
+ optional google.protobuf.Timestamp timestamp = 1; // UTC timestamp the message was sent
20
+ optional string node_id = 2 [(field_options) = {is_mandatory: true, is_uuid: true}]; // ULID for the node where the assoicated detection has originiated
21
+ optional string object_id = 3 [(field_options) = {is_mandatory: true, is_ulid: true}]; // ULID for the object detected in the environment
22
+ optional AssociationRelation association_type = 4; // Relationship of associated detection to this message
23
+ }
24
+
25
+ enum AssociationRelation {
26
+ ASSOCIATION_RELATION_UNSPECIFIED = 0; // Unset enum
27
+ ASSOCIATION_RELATION_NO_RELATION = 1;
28
+ ASSOCIATION_RELATION_PARENT = 2;
29
+ ASSOCIATION_RELATION_CHILD = 3;
30
+ ASSOCIATION_RELATION_SIBLING = 4;
31
+ }
32
+ // [END messages]
@@ -0,0 +1,35 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sapient_msg/bsi_flex_335_v2_0/associated_detection.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
16
+ from sapient_msg import proto_options_pb2 as sapient__msg_dot_proto__options__pb2
17
+
18
+
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n8sapient_msg/bsi_flex_335_v2_0/associated_detection.proto\x12\x1dsapient_msg.bsi_flex_335_v2_0\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1fsapient_msg/proto_options.proto\"\x9b\x02\n\x13\x41ssociatedDetection\x12\x32\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x1e\n\x07node_id\x18\x02 \x01(\tB\x08\x8a\xb5\x18\x04\x08\x01\x18\x01H\x01\x88\x01\x01\x12 \n\tobject_id\x18\x03 \x01(\tB\x08\x8a\xb5\x18\x04\x08\x01\x10\x01H\x02\x88\x01\x01\x12Q\n\x10\x61ssociation_type\x18\x04 \x01(\x0e\x32\x32.sapient_msg.bsi_flex_335_v2_0.AssociationRelationH\x03\x88\x01\x01\x42\x0c\n\n_timestampB\n\n\x08_node_idB\x0c\n\n_object_idB\x13\n\x11_association_type*\xc4\x01\n\x13\x41ssociationRelation\x12$\n ASSOCIATION_RELATION_UNSPECIFIED\x10\x00\x12$\n ASSOCIATION_RELATION_NO_RELATION\x10\x01\x12\x1f\n\x1b\x41SSOCIATION_RELATION_PARENT\x10\x02\x12\x1e\n\x1a\x41SSOCIATION_RELATION_CHILD\x10\x03\x12 \n\x1c\x41SSOCIATION_RELATION_SIBLING\x10\x04\x42\x41\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\x18\x41ssociatedDetectionProtoP\x01\x62\x06proto3')
20
+
21
+ _globals = globals()
22
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
23
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapient_msg.bsi_flex_335_v2_0.associated_detection_pb2', _globals)
24
+ if _descriptor._USE_C_DESCRIPTORS == False:
25
+ _globals['DESCRIPTOR']._options = None
26
+ _globals['DESCRIPTOR']._serialized_options = b'\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\030AssociatedDetectionProtoP\001'
27
+ _globals['_ASSOCIATEDDETECTION'].fields_by_name['node_id']._options = None
28
+ _globals['_ASSOCIATEDDETECTION'].fields_by_name['node_id']._serialized_options = b'\212\265\030\004\010\001\030\001'
29
+ _globals['_ASSOCIATEDDETECTION'].fields_by_name['object_id']._options = None
30
+ _globals['_ASSOCIATEDDETECTION'].fields_by_name['object_id']._serialized_options = b'\212\265\030\004\010\001\020\001'
31
+ _globals['_ASSOCIATIONRELATION']._serialized_start=444
32
+ _globals['_ASSOCIATIONRELATION']._serialized_end=640
33
+ _globals['_ASSOCIATEDDETECTION']._serialized_start=158
34
+ _globals['_ASSOCIATEDDETECTION']._serialized_end=441
35
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,33 @@
1
+ from google.protobuf import timestamp_pb2 as _timestamp_pb2
2
+ from sapient_msg import proto_options_pb2 as _proto_options_pb2
3
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union
7
+
8
+ DESCRIPTOR: _descriptor.FileDescriptor
9
+
10
+ class AssociationRelation(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
11
+ __slots__ = ()
12
+ ASSOCIATION_RELATION_UNSPECIFIED: _ClassVar[AssociationRelation]
13
+ ASSOCIATION_RELATION_NO_RELATION: _ClassVar[AssociationRelation]
14
+ ASSOCIATION_RELATION_PARENT: _ClassVar[AssociationRelation]
15
+ ASSOCIATION_RELATION_CHILD: _ClassVar[AssociationRelation]
16
+ ASSOCIATION_RELATION_SIBLING: _ClassVar[AssociationRelation]
17
+ ASSOCIATION_RELATION_UNSPECIFIED: AssociationRelation
18
+ ASSOCIATION_RELATION_NO_RELATION: AssociationRelation
19
+ ASSOCIATION_RELATION_PARENT: AssociationRelation
20
+ ASSOCIATION_RELATION_CHILD: AssociationRelation
21
+ ASSOCIATION_RELATION_SIBLING: AssociationRelation
22
+
23
+ class AssociatedDetection(_message.Message):
24
+ __slots__ = ("timestamp", "node_id", "object_id", "association_type")
25
+ TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
26
+ NODE_ID_FIELD_NUMBER: _ClassVar[int]
27
+ OBJECT_ID_FIELD_NUMBER: _ClassVar[int]
28
+ ASSOCIATION_TYPE_FIELD_NUMBER: _ClassVar[int]
29
+ timestamp: _timestamp_pb2.Timestamp
30
+ node_id: str
31
+ object_id: str
32
+ association_type: AssociationRelation
33
+ def __init__(self, timestamp: _Optional[_Union[_timestamp_pb2.Timestamp, _Mapping]] = ..., node_id: _Optional[str] = ..., object_id: _Optional[str] = ..., association_type: _Optional[_Union[AssociationRelation, str]] = ...) -> None: ...
@@ -0,0 +1,21 @@
1
+ // Dstl (c) Crown Copyright 2024
2
+ //
3
+ // [START declaration]
4
+ syntax = "proto3";
5
+ package sapient_msg.bsi_flex_335_v2_0;
6
+
7
+ import "sapient_msg/proto_options.proto";
8
+ // [END declaration]
9
+
10
+ // [START java_declaration]
11
+ option java_multiple_files = true;
12
+ option java_package = "uk.gov.dstl.sapientmsg.bsiflex335v2";
13
+ option java_outer_classname = "AssociatedFileProto";
14
+ // [END java_declaration]
15
+
16
+ // [START messages]
17
+ message AssociatedFile {
18
+ optional string type = 1 [(field_options) = {is_mandatory: true}]; // Type of file contained available at the URL
19
+ optional string url = 2 [(field_options) = {is_mandatory: true}]; // The network address of where the file can be accessed
20
+ }
21
+ // [END messages]
@@ -0,0 +1,32 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: sapient_msg/bsi_flex_335_v2_0/associated_file.proto
4
+ # Protobuf Python Version: 4.25.0
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from sapient_msg import proto_options_pb2 as sapient__msg_dot_proto__options__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3sapient_msg/bsi_flex_335_v2_0/associated_file.proto\x12\x1dsapient_msg.bsi_flex_335_v2_0\x1a\x1fsapient_msg/proto_options.proto\"V\n\x0e\x41ssociatedFile\x12\x19\n\x04type\x18\x01 \x01(\tB\x06\x8a\xb5\x18\x02\x08\x01H\x00\x88\x01\x01\x12\x18\n\x03url\x18\x02 \x01(\tB\x06\x8a\xb5\x18\x02\x08\x01H\x01\x88\x01\x01\x42\x07\n\x05_typeB\x06\n\x04_urlB<\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\x13\x41ssociatedFileProtoP\x01\x62\x06proto3')
19
+
20
+ _globals = globals()
21
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
22
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sapient_msg.bsi_flex_335_v2_0.associated_file_pb2', _globals)
23
+ if _descriptor._USE_C_DESCRIPTORS == False:
24
+ _globals['DESCRIPTOR']._options = None
25
+ _globals['DESCRIPTOR']._serialized_options = b'\n#uk.gov.dstl.sapientmsg.bsiflex335v2B\023AssociatedFileProtoP\001'
26
+ _globals['_ASSOCIATEDFILE'].fields_by_name['type']._options = None
27
+ _globals['_ASSOCIATEDFILE'].fields_by_name['type']._serialized_options = b'\212\265\030\002\010\001'
28
+ _globals['_ASSOCIATEDFILE'].fields_by_name['url']._options = None
29
+ _globals['_ASSOCIATEDFILE'].fields_by_name['url']._serialized_options = b'\212\265\030\002\010\001'
30
+ _globals['_ASSOCIATEDFILE']._serialized_start=119
31
+ _globals['_ASSOCIATEDFILE']._serialized_end=205
32
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,14 @@
1
+ from sapient_msg import proto_options_pb2 as _proto_options_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class AssociatedFile(_message.Message):
9
+ __slots__ = ("type", "url")
10
+ TYPE_FIELD_NUMBER: _ClassVar[int]
11
+ URL_FIELD_NUMBER: _ClassVar[int]
12
+ type: str
13
+ url: str
14
+ def __init__(self, type: _Optional[str] = ..., url: _Optional[str] = ...) -> None: ...