@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.221.dev.1

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 (111) hide show
  1. package/dist/index.d.ts +524 -1
  2. package/dist/index.js +114 -5
  3. package/dist/index.test.js +57 -0
  4. package/dist/interfaces/AlarmAck.d.ts +62 -0
  5. package/dist/interfaces/AlarmAck.js +218 -0
  6. package/dist/interfaces/Configurable.d.ts +24 -18
  7. package/dist/interfaces/Configurable.js +24 -22
  8. package/dist/interfaces/Coordinate.d.ts +38 -0
  9. package/dist/interfaces/Coordinate.js +82 -0
  10. package/dist/interfaces/ErrorResponse.d.ts +1 -1
  11. package/dist/interfaces/ErrorResponse.js +1 -1
  12. package/dist/interfaces/MavlinkCommand.d.ts +24 -18
  13. package/dist/interfaces/MavlinkCommand.js +24 -22
  14. package/dist/interfaces/Mission.d.ts +128 -0
  15. package/dist/interfaces/Mission.js +800 -0
  16. package/dist/interfaces/NetworkPingPong.d.ts +16 -16
  17. package/dist/interfaces/NetworkPingPong.js +16 -16
  18. package/dist/interfaces/ReplayControl.d.ts +72 -30
  19. package/dist/interfaces/ReplayControl.js +72 -58
  20. package/dist/interfaces/Route.d.ts +627 -0
  21. package/dist/interfaces/Route.js +4148 -0
  22. package/dist/interfaces/RoutePlanner.d.ts +152 -0
  23. package/dist/interfaces/RoutePlanner.js +268 -0
  24. package/dist/interfaces/ScenarioCheckpoint.d.ts +154 -0
  25. package/dist/interfaces/ScenarioCheckpoint.js +694 -0
  26. package/dist/interfaces/ScenarioControl.d.ts +144 -0
  27. package/dist/interfaces/ScenarioControl.js +552 -0
  28. package/dist/interfaces/Severity.d.ts +22 -0
  29. package/dist/interfaces/Severity.js +72 -0
  30. package/dist/interfaces/SimulationControl.d.ts +69 -0
  31. package/dist/interfaces/SimulationControl.js +153 -0
  32. package/dist/interfaces/Subscriber.d.ts +24 -18
  33. package/dist/interfaces/Subscriber.js +24 -22
  34. package/dist/interfaces/VehicleCommon.d.ts +1 -32
  35. package/dist/interfaces/VehicleCommon.js +2 -74
  36. package/dist/interfaces/VehicleControl.d.ts +34 -28
  37. package/dist/interfaces/VehicleControl.js +34 -22
  38. package/dist/interfaces/VehicleGeofence.d.ts +26 -19
  39. package/dist/interfaces/VehicleGeofence.js +40 -37
  40. package/dist/interfaces/VehicleLifecycle.d.ts +32 -20
  41. package/dist/interfaces/VehicleLifecycle.js +32 -28
  42. package/dist/interfaces/VehicleMission.d.ts +42 -97
  43. package/dist/interfaces/VehicleMission.js +41 -696
  44. package/dist/interfaces/VehicleNavigation.d.ts +30 -24
  45. package/dist/interfaces/VehicleNavigation.js +30 -22
  46. package/dist/interfaces/VehicleParam.d.ts +48 -24
  47. package/dist/interfaces/VehicleParam.js +48 -40
  48. package/dist/interfaces/VehicleSimulatorControl.d.ts +57 -0
  49. package/dist/interfaces/VehicleSimulatorControl.js +155 -0
  50. package/dist/interfaces/WHEPProxy.d.ts +16 -16
  51. package/dist/interfaces/WHEPProxy.js +16 -16
  52. package/dist/interfaces/foxglove/GeoJSON.d.ts +27 -0
  53. package/dist/interfaces/foxglove/GeoJSON.js +65 -0
  54. package/dist/interfaces/foxglove/LocationFix.d.ts +49 -0
  55. package/dist/interfaces/foxglove/LocationFix.js +246 -0
  56. package/dist/interfaces/google/protobuf/any.d.ts +144 -0
  57. package/dist/interfaces/google/protobuf/any.js +107 -0
  58. package/dist/interfaces/google/protobuf/duration.d.ts +99 -0
  59. package/dist/interfaces/google/protobuf/duration.js +92 -0
  60. package/dist/interfaces/serviceRegistry.d.ts +520 -0
  61. package/dist/interfaces/serviceRegistry.js +40 -0
  62. package/dist/interfaces.json +19 -0
  63. package/dist/payloads/Alarm.d.ts +7 -12
  64. package/dist/payloads/Alarm.js +4 -54
  65. package/dist/payloads/CommandAuthority.d.ts +82 -0
  66. package/dist/payloads/CommandAuthority.js +364 -0
  67. package/dist/payloads/Coordinate.d.ts +39 -0
  68. package/dist/payloads/Coordinate.js +85 -0
  69. package/dist/payloads/EntityHealth.d.ts +9 -0
  70. package/dist/payloads/EntityHealth.js +14 -0
  71. package/dist/payloads/Mission.d.ts +137 -0
  72. package/dist/payloads/Mission.js +826 -0
  73. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  74. package/dist/payloads/OperationalAuthority.js +525 -6
  75. package/dist/payloads/Route.d.ts +649 -0
  76. package/dist/payloads/Route.js +4257 -0
  77. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  78. package/dist/payloads/RouteChangeEvent.js +223 -0
  79. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  80. package/dist/payloads/RouteEditAuthority.js +380 -0
  81. package/dist/payloads/RouteExecution.d.ts +64 -0
  82. package/dist/payloads/RouteExecution.js +310 -0
  83. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  84. package/dist/payloads/ScenarioStatus.js +654 -0
  85. package/dist/payloads/Severity.d.ts +13 -6
  86. package/dist/payloads/Severity.js +30 -18
  87. package/dist/payloads/SimulationStatus.d.ts +3 -4
  88. package/dist/payloads/SimulationStatus.js +12 -18
  89. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  90. package/dist/payloads/TestObjectStatus.js +580 -0
  91. package/dist/payloads/VesselType.d.ts +2 -1
  92. package/dist/payloads/VesselType.js +1 -1
  93. package/dist/payloads/Voyage.d.ts +154 -0
  94. package/dist/payloads/Voyage.js +866 -0
  95. package/dist/payloads/WarrantRecord.d.ts +168 -0
  96. package/dist/payloads/WarrantRecord.js +781 -0
  97. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  98. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  99. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  100. package/dist/payloads/google/protobuf/any.js +110 -0
  101. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  102. package/dist/payloads/google/protobuf/empty.js +50 -0
  103. package/dist/payloads/index.foxglove.d.ts +1 -0
  104. package/dist/payloads/index.foxglove.js +1 -0
  105. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  106. package/dist/payloads/index.google.protobuf.js +2 -0
  107. package/dist/payloads/index.keelson.d.ts +12 -1
  108. package/dist/payloads/index.keelson.js +12 -1
  109. package/dist/qos.json +89 -0
  110. package/dist/subjects.json +30 -1
  111. package/package.json +2 -1
@@ -8,16 +8,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.severityLevelToJSON = exports.severityLevelFromJSON = exports.SeverityLevel = void 0;
9
9
  /* eslint-disable */
10
10
  /**
11
- * Shared severity vocabulary for alerts and events across payloads
12
- * (weather, route, ...). Keep this the single source of truth so the bus
13
- * does not accumulate per-domain severity scales.
11
+ * Shared severity vocabulary for alarms, alerts and events across
12
+ * payloads (alarm, weather, route, ...). Keep this the single source of
13
+ * truth so the bus does not accumulate per-domain severity scales.
14
+ *
15
+ * Four levels, unified from the previously-parallel Alarm.Severity
16
+ * (LOW/MEDIUM/HIGH/CRITICAL) and the 3-level alert scale
17
+ * (INFO/WARNING/CRITICAL): informational maps to LOW, warning-grade
18
+ * maps to MEDIUM or HIGH per the emitter's judgement, CRITICAL stays
19
+ * CRITICAL.
14
20
  */
15
21
  var SeverityLevel;
16
22
  (function (SeverityLevel) {
17
23
  SeverityLevel[SeverityLevel["SEVERITY_LEVEL_UNSPECIFIED"] = 0] = "SEVERITY_LEVEL_UNSPECIFIED";
18
- SeverityLevel[SeverityLevel["INFO"] = 1] = "INFO";
19
- SeverityLevel[SeverityLevel["WARNING"] = 2] = "WARNING";
20
- SeverityLevel[SeverityLevel["CRITICAL"] = 3] = "CRITICAL";
24
+ SeverityLevel[SeverityLevel["SEVERITY_LEVEL_LOW"] = 1] = "SEVERITY_LEVEL_LOW";
25
+ SeverityLevel[SeverityLevel["SEVERITY_LEVEL_MEDIUM"] = 2] = "SEVERITY_LEVEL_MEDIUM";
26
+ SeverityLevel[SeverityLevel["SEVERITY_LEVEL_HIGH"] = 3] = "SEVERITY_LEVEL_HIGH";
27
+ SeverityLevel[SeverityLevel["SEVERITY_LEVEL_CRITICAL"] = 4] = "SEVERITY_LEVEL_CRITICAL";
21
28
  SeverityLevel[SeverityLevel["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
22
29
  })(SeverityLevel || (exports.SeverityLevel = SeverityLevel = {}));
23
30
  function severityLevelFromJSON(object) {
@@ -26,14 +33,17 @@ function severityLevelFromJSON(object) {
26
33
  case "SEVERITY_LEVEL_UNSPECIFIED":
27
34
  return SeverityLevel.SEVERITY_LEVEL_UNSPECIFIED;
28
35
  case 1:
29
- case "INFO":
30
- return SeverityLevel.INFO;
36
+ case "SEVERITY_LEVEL_LOW":
37
+ return SeverityLevel.SEVERITY_LEVEL_LOW;
31
38
  case 2:
32
- case "WARNING":
33
- return SeverityLevel.WARNING;
39
+ case "SEVERITY_LEVEL_MEDIUM":
40
+ return SeverityLevel.SEVERITY_LEVEL_MEDIUM;
34
41
  case 3:
35
- case "CRITICAL":
36
- return SeverityLevel.CRITICAL;
42
+ case "SEVERITY_LEVEL_HIGH":
43
+ return SeverityLevel.SEVERITY_LEVEL_HIGH;
44
+ case 4:
45
+ case "SEVERITY_LEVEL_CRITICAL":
46
+ return SeverityLevel.SEVERITY_LEVEL_CRITICAL;
37
47
  case -1:
38
48
  case "UNRECOGNIZED":
39
49
  default:
@@ -45,12 +55,14 @@ function severityLevelToJSON(object) {
45
55
  switch (object) {
46
56
  case SeverityLevel.SEVERITY_LEVEL_UNSPECIFIED:
47
57
  return "SEVERITY_LEVEL_UNSPECIFIED";
48
- case SeverityLevel.INFO:
49
- return "INFO";
50
- case SeverityLevel.WARNING:
51
- return "WARNING";
52
- case SeverityLevel.CRITICAL:
53
- return "CRITICAL";
58
+ case SeverityLevel.SEVERITY_LEVEL_LOW:
59
+ return "SEVERITY_LEVEL_LOW";
60
+ case SeverityLevel.SEVERITY_LEVEL_MEDIUM:
61
+ return "SEVERITY_LEVEL_MEDIUM";
62
+ case SeverityLevel.SEVERITY_LEVEL_HIGH:
63
+ return "SEVERITY_LEVEL_HIGH";
64
+ case SeverityLevel.SEVERITY_LEVEL_CRITICAL:
65
+ return "SEVERITY_LEVEL_CRITICAL";
54
66
  case SeverityLevel.UNRECOGNIZED:
55
67
  default:
56
68
  return "UNRECOGNIZED";
@@ -10,14 +10,13 @@ export interface SimulationStatus {
10
10
  /** The unique identifier of the simulation */
11
11
  id: string;
12
12
  /** The simulation timestamp */
13
- timestampSimulation: Date | undefined;
13
+ simulationTimestamp: Date | undefined;
14
14
  }
15
15
  export declare enum SimulationStatus_SimulationState {
16
16
  UNKNOWN = 0,
17
17
  STOPPED = 1,
18
- ASSIGNED = 2,
19
- RUNNING = 3,
20
- PAUSED = 4,
18
+ RUNNING = 2,
19
+ PAUSED = 3,
21
20
  UNRECOGNIZED = -1
22
21
  }
23
22
  export declare function simulationStatus_SimulationStateFromJSON(object: any): SimulationStatus_SimulationState;
@@ -14,9 +14,8 @@ var SimulationStatus_SimulationState;
14
14
  (function (SimulationStatus_SimulationState) {
15
15
  SimulationStatus_SimulationState[SimulationStatus_SimulationState["UNKNOWN"] = 0] = "UNKNOWN";
16
16
  SimulationStatus_SimulationState[SimulationStatus_SimulationState["STOPPED"] = 1] = "STOPPED";
17
- SimulationStatus_SimulationState[SimulationStatus_SimulationState["ASSIGNED"] = 2] = "ASSIGNED";
18
- SimulationStatus_SimulationState[SimulationStatus_SimulationState["RUNNING"] = 3] = "RUNNING";
19
- SimulationStatus_SimulationState[SimulationStatus_SimulationState["PAUSED"] = 4] = "PAUSED";
17
+ SimulationStatus_SimulationState[SimulationStatus_SimulationState["RUNNING"] = 2] = "RUNNING";
18
+ SimulationStatus_SimulationState[SimulationStatus_SimulationState["PAUSED"] = 3] = "PAUSED";
20
19
  SimulationStatus_SimulationState[SimulationStatus_SimulationState["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
21
20
  })(SimulationStatus_SimulationState || (exports.SimulationStatus_SimulationState = SimulationStatus_SimulationState = {}));
22
21
  function simulationStatus_SimulationStateFromJSON(object) {
@@ -28,12 +27,9 @@ function simulationStatus_SimulationStateFromJSON(object) {
28
27
  case "STOPPED":
29
28
  return SimulationStatus_SimulationState.STOPPED;
30
29
  case 2:
31
- case "ASSIGNED":
32
- return SimulationStatus_SimulationState.ASSIGNED;
33
- case 3:
34
30
  case "RUNNING":
35
31
  return SimulationStatus_SimulationState.RUNNING;
36
- case 4:
32
+ case 3:
37
33
  case "PAUSED":
38
34
  return SimulationStatus_SimulationState.PAUSED;
39
35
  case -1:
@@ -49,8 +45,6 @@ function simulationStatus_SimulationStateToJSON(object) {
49
45
  return "UNKNOWN";
50
46
  case SimulationStatus_SimulationState.STOPPED:
51
47
  return "STOPPED";
52
- case SimulationStatus_SimulationState.ASSIGNED:
53
- return "ASSIGNED";
54
48
  case SimulationStatus_SimulationState.RUNNING:
55
49
  return "RUNNING";
56
50
  case SimulationStatus_SimulationState.PAUSED:
@@ -68,7 +62,7 @@ function createBaseSimulationStatus() {
68
62
  state: 0,
69
63
  name: "",
70
64
  id: "",
71
- timestampSimulation: undefined,
65
+ simulationTimestamp: undefined,
72
66
  };
73
67
  }
74
68
  exports.SimulationStatus = {
@@ -86,8 +80,8 @@ exports.SimulationStatus = {
86
80
  if (message.id !== "") {
87
81
  writer.uint32(34).string(message.id);
88
82
  }
89
- if (message.timestampSimulation !== undefined) {
90
- timestamp_1.Timestamp.encode(toTimestamp(message.timestampSimulation), writer.uint32(42).fork()).join();
83
+ if (message.simulationTimestamp !== undefined) {
84
+ timestamp_1.Timestamp.encode(toTimestamp(message.simulationTimestamp), writer.uint32(42).fork()).join();
91
85
  }
92
86
  return writer;
93
87
  },
@@ -130,7 +124,7 @@ exports.SimulationStatus = {
130
124
  if (tag !== 42) {
131
125
  break;
132
126
  }
133
- message.timestampSimulation = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
127
+ message.simulationTimestamp = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
134
128
  continue;
135
129
  }
136
130
  }
@@ -148,8 +142,8 @@ exports.SimulationStatus = {
148
142
  state: isSet(object.state) ? simulationStatus_SimulationStateFromJSON(object.state) : 0,
149
143
  name: isSet(object.name) ? globalThis.String(object.name) : "",
150
144
  id: isSet(object.id) ? globalThis.String(object.id) : "",
151
- timestampSimulation: isSet(object.timestampSimulation)
152
- ? fromJsonTimestamp(object.timestampSimulation)
145
+ simulationTimestamp: isSet(object.simulationTimestamp)
146
+ ? fromJsonTimestamp(object.simulationTimestamp)
153
147
  : undefined,
154
148
  };
155
149
  },
@@ -167,8 +161,8 @@ exports.SimulationStatus = {
167
161
  if (message.id !== "") {
168
162
  obj.id = message.id;
169
163
  }
170
- if (message.timestampSimulation !== undefined) {
171
- obj.timestampSimulation = message.timestampSimulation.toISOString();
164
+ if (message.simulationTimestamp !== undefined) {
165
+ obj.simulationTimestamp = message.simulationTimestamp.toISOString();
172
166
  }
173
167
  return obj;
174
168
  },
@@ -181,7 +175,7 @@ exports.SimulationStatus = {
181
175
  message.state = object.state ?? 0;
182
176
  message.name = object.name ?? "";
183
177
  message.id = object.id ?? "";
184
- message.timestampSimulation = object.timestampSimulation ?? undefined;
178
+ message.simulationTimestamp = object.simulationTimestamp ?? undefined;
185
179
  return message;
186
180
  },
187
181
  };
@@ -0,0 +1,154 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ /**
3
+ * ISO 22133 test-object status, as reported by an object to a control centre.
4
+ *
5
+ * ISO 22133 ("Road vehicles — Test object monitoring and control for active
6
+ * safety and automated/autonomous vehicle testing") governs how a test control
7
+ * centre monitors and commands objects on a proving ground. The values below
8
+ * are taken VERBATIM from the standard's reference implementation,
9
+ * https://github.com/RI-SE/iso22133 (include/defines.h), which RI-SE maintains
10
+ * — the standard itself is paywalled, so that library is the practical
11
+ * normative source.
12
+ *
13
+ * WHY THE VALUES ARE COPIED RATHER THAN TRANSLATED
14
+ * ------------------------------------------------
15
+ * keelson already carries several state machines that overlap this one:
16
+ * VehicleState (operational lifecycle), SimulationStatus (STOPPED/RUNNING/
17
+ * PAUSED), ROCStatus (who is controlling), OperationalAuthority (how much
18
+ * autonomy the vessel will accept) and the plain vehicle_armed flag. It would
19
+ * be easy to fold ISO states into those and avoid a new message.
20
+ *
21
+ * That would be wrong. A conformance claim is only meaningful if the state the
22
+ * object reported round-trips exactly: an operator asked "was the object in
23
+ * PRE_ARMING or ARMED at t?" must get the object's own answer, not this bus's
24
+ * nearest equivalent. POSTRUN, PRE_ARMING and PRE_RUNNING have no counterpart
25
+ * in any existing keelson enum, and a lossy mapping would quietly discard them.
26
+ *
27
+ * The RELATIONSHIP to the existing subjects is documented instead — see
28
+ * Crowsnest docs/ISO-22133.md — so a consumer can correlate without this
29
+ * message pretending to be them.
30
+ *
31
+ * SCOPE: MONITORING ONLY. This message is a report, not a command. ISO 22133's
32
+ * command path (OSTM state transitions, STRT, and the control-centre heartbeat
33
+ * whose loss obliges the object to abort) is deliberately absent: keelson has
34
+ * no heartbeat contract and no vessel implements abort-on-loss, so shipping the
35
+ * commands would imply a safety property that does not exist. That gap is
36
+ * written up rather than papered over.
37
+ */
38
+ export interface TestObjectStatus {
39
+ $type: "keelson.TestObjectStatus";
40
+ /** The source timestamp of this report */
41
+ timestamp: Date | undefined;
42
+ state: TestObjectStatus_ObjectState;
43
+ readyToArm: TestObjectStatus_ArmReadiness;
44
+ controlCentreStatus: TestObjectStatus_ControlCentreStatus;
45
+ errors: TestObjectStatus_ErrorFlags | undefined;
46
+ /**
47
+ * The error bitmask exactly as received, so nothing is lost if the standard
48
+ * adds a bit this build does not know about.
49
+ */
50
+ errorBitmaskRaw: number;
51
+ /**
52
+ * Object identifier as configured in OSEM. NOT the keelson entity id: one
53
+ * connector may bridge several objects, and the mapping between the two is
54
+ * the connector's configuration, not something to infer here.
55
+ */
56
+ objectId: number;
57
+ /** The object's own transmitter/session id, when it reports one. */
58
+ objectName: string;
59
+ }
60
+ /**
61
+ * ISO 22133 object state. Values are the standard's own numbering
62
+ * (iso22133 include/defines.h, enum ObjectStateValues) — do NOT renumber.
63
+ */
64
+ export declare enum TestObjectStatus_ObjectState {
65
+ OBJECT_STATE_OFF = 0,
66
+ OBJECT_STATE_INIT = 1,
67
+ OBJECT_STATE_ARMED = 2,
68
+ OBJECT_STATE_DISARMED = 3,
69
+ OBJECT_STATE_RUNNING = 4,
70
+ OBJECT_STATE_POSTRUN = 5,
71
+ OBJECT_STATE_REMOTE_CONTROLLED = 6,
72
+ OBJECT_STATE_ABORTING = 7,
73
+ OBJECT_STATE_PRE_ARMING = 8,
74
+ OBJECT_STATE_PRE_RUNNING = 9,
75
+ OBJECT_STATE_UNAVAILABLE = 255,
76
+ UNRECOGNIZED = -1
77
+ }
78
+ export declare function testObjectStatus_ObjectStateFromJSON(object: any): TestObjectStatus_ObjectState;
79
+ export declare function testObjectStatus_ObjectStateToJSON(object: TestObjectStatus_ObjectState): string;
80
+ /**
81
+ * Whether the object will accept an arm request (enum ArmReadinessValues).
82
+ * UNAVAILABLE is distinct from NOT_READY: the object is not telling us.
83
+ */
84
+ export declare enum TestObjectStatus_ArmReadiness {
85
+ ARM_READINESS_NOT_READY = 0,
86
+ ARM_READINESS_READY = 1,
87
+ ARM_READINESS_UNAVAILABLE = 255,
88
+ UNRECOGNIZED = -1
89
+ }
90
+ export declare function testObjectStatus_ArmReadinessFromJSON(object: any): TestObjectStatus_ArmReadiness;
91
+ export declare function testObjectStatus_ArmReadinessToJSON(object: TestObjectStatus_ArmReadiness): string;
92
+ /**
93
+ * Control-centre status as the object last received it
94
+ * (enum ControlCenterStatusType). Reported so a reader can see the object's
95
+ * view of the session, which may lag or differ from the centre's own.
96
+ */
97
+ export declare enum TestObjectStatus_ControlCentreStatus {
98
+ CONTROL_CENTRE_STATUS_INIT = 0,
99
+ CONTROL_CENTRE_STATUS_READY = 1,
100
+ CONTROL_CENTRE_STATUS_ABORT = 2,
101
+ CONTROL_CENTRE_STATUS_RUNNING = 3,
102
+ CONTROL_CENTRE_STATUS_TEST_DONE = 4,
103
+ CONTROL_CENTRE_STATUS_NORMAL_STOP = 5,
104
+ UNRECOGNIZED = -1
105
+ }
106
+ export declare function testObjectStatus_ControlCentreStatusFromJSON(object: any): TestObjectStatus_ControlCentreStatus;
107
+ export declare function testObjectStatus_ControlCentreStatusToJSON(object: TestObjectStatus_ControlCentreStatus): string;
108
+ /**
109
+ * MONR error flags, unpacked from the standard's bitmask into named
110
+ * booleans. Unpacked deliberately: a bitmask on the wire means every
111
+ * consumer re-derives the bit positions, and the one that gets a bit wrong
112
+ * reports the wrong fault. The raw byte is kept alongside for fidelity.
113
+ */
114
+ export interface TestObjectStatus_ErrorFlags {
115
+ $type: "keelson.TestObjectStatus.ErrorFlags";
116
+ /** 0x80 */
117
+ abortRequest: boolean;
118
+ /** 0x40 */
119
+ outsideGeofence: boolean;
120
+ /** 0x20 */
121
+ badPositioningAccuracy: boolean;
122
+ /** 0x10 */
123
+ engineFault: boolean;
124
+ /** 0x08 */
125
+ batteryFault: boolean;
126
+ /** 0x04 */
127
+ other: boolean;
128
+ /** 0x02 */
129
+ syncPointEnded: boolean;
130
+ /** 0x01 */
131
+ vendorSpecific: boolean;
132
+ }
133
+ export declare const TestObjectStatus: MessageFns<TestObjectStatus, "keelson.TestObjectStatus">;
134
+ export declare const TestObjectStatus_ErrorFlags: MessageFns<TestObjectStatus_ErrorFlags, "keelson.TestObjectStatus.ErrorFlags">;
135
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
136
+ type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
137
+ [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
138
+ } : Partial<T>;
139
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
140
+ type Exact<P, I extends P> = P extends Builtin ? P : P & {
141
+ [K in keyof P]: Exact<P[K], I[K]>;
142
+ } & {
143
+ [K in Exclude<keyof I, KeysOfUnion<P> | "$type">]: never;
144
+ };
145
+ interface MessageFns<T, V extends string> {
146
+ readonly $type: V;
147
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
148
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
149
+ fromJSON(object: any): T;
150
+ toJSON(message: T): unknown;
151
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
152
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
153
+ }
154
+ export {};