@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.202.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 (121) 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 +640 -0
  21. package/dist/interfaces/Route.js +4180 -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/ChecklistEvent.d.ts +152 -0
  66. package/dist/payloads/ChecklistEvent.js +524 -0
  67. package/dist/payloads/ChecklistEvidence.d.ts +79 -0
  68. package/dist/payloads/ChecklistEvidence.js +287 -0
  69. package/dist/payloads/ChecklistPresence.d.ts +68 -0
  70. package/dist/payloads/ChecklistPresence.js +286 -0
  71. package/dist/payloads/ChecklistProcedure.d.ts +81 -0
  72. package/dist/payloads/ChecklistProcedure.js +364 -0
  73. package/dist/payloads/ChecklistState.d.ts +178 -0
  74. package/dist/payloads/ChecklistState.js +838 -0
  75. package/dist/payloads/CommandAuthority.d.ts +82 -0
  76. package/dist/payloads/CommandAuthority.js +364 -0
  77. package/dist/payloads/Coordinate.d.ts +39 -0
  78. package/dist/payloads/Coordinate.js +85 -0
  79. package/dist/payloads/EntityHealth.d.ts +9 -0
  80. package/dist/payloads/EntityHealth.js +14 -0
  81. package/dist/payloads/Mission.d.ts +137 -0
  82. package/dist/payloads/Mission.js +826 -0
  83. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  84. package/dist/payloads/OperationalAuthority.js +525 -6
  85. package/dist/payloads/Route.d.ts +662 -0
  86. package/dist/payloads/Route.js +4289 -0
  87. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  88. package/dist/payloads/RouteChangeEvent.js +223 -0
  89. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  90. package/dist/payloads/RouteEditAuthority.js +380 -0
  91. package/dist/payloads/RouteExecution.d.ts +64 -0
  92. package/dist/payloads/RouteExecution.js +310 -0
  93. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  94. package/dist/payloads/ScenarioStatus.js +654 -0
  95. package/dist/payloads/Severity.d.ts +13 -6
  96. package/dist/payloads/Severity.js +30 -18
  97. package/dist/payloads/SimulationStatus.d.ts +3 -4
  98. package/dist/payloads/SimulationStatus.js +12 -18
  99. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  100. package/dist/payloads/TestObjectStatus.js +580 -0
  101. package/dist/payloads/VesselType.d.ts +2 -1
  102. package/dist/payloads/VesselType.js +1 -1
  103. package/dist/payloads/Voyage.d.ts +154 -0
  104. package/dist/payloads/Voyage.js +866 -0
  105. package/dist/payloads/WarrantRecord.d.ts +168 -0
  106. package/dist/payloads/WarrantRecord.js +781 -0
  107. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  108. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  109. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  110. package/dist/payloads/google/protobuf/any.js +110 -0
  111. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  112. package/dist/payloads/google/protobuf/empty.js +50 -0
  113. package/dist/payloads/index.foxglove.d.ts +1 -0
  114. package/dist/payloads/index.foxglove.js +1 -0
  115. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  116. package/dist/payloads/index.google.protobuf.js +2 -0
  117. package/dist/payloads/index.keelson.d.ts +17 -1
  118. package/dist/payloads/index.keelson.js +17 -1
  119. package/dist/qos.json +95 -0
  120. package/dist/subjects.json +38 -1
  121. package/package.json +2 -1
@@ -5,11 +5,11 @@
5
5
  // protoc v6.30.2
6
6
  // source: VehicleControl.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.VehicleControlClientImpl = exports.VehicleControlServiceName = exports.ControlAxisMappingAck = exports.ControlAxisMapping_AxesEntry = exports.ControlAxisMapping = exports.ControlAxis = exports.protobufPackage = void 0;
8
+ exports.VehicleControlDefinition = exports.ControlAxisMappingAck = exports.ControlAxisMapping_AxesEntry = exports.ControlAxisMapping = exports.ControlAxis = exports.protobufPackage = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const empty_1 = require("./google/protobuf/empty");
12
- exports.protobufPackage = "";
12
+ exports.protobufPackage = "keelson.interfaces.vehicle_control";
13
13
  function createBaseControlAxis() {
14
14
  return { entityId: "", subject: "", sourceId: "", unipolar: false, invert: false };
15
15
  }
@@ -332,26 +332,38 @@ exports.ControlAxisMappingAck = {
332
332
  return message;
333
333
  },
334
334
  };
335
- exports.VehicleControlServiceName = "VehicleControl";
336
- class VehicleControlClientImpl {
337
- constructor(rpc, opts) {
338
- this.service = opts?.service || exports.VehicleControlServiceName;
339
- this.rpc = rpc;
340
- this.set_control_mapping = this.set_control_mapping.bind(this);
341
- this.get_control_mapping = this.get_control_mapping.bind(this);
342
- }
343
- set_control_mapping(request) {
344
- const data = exports.ControlAxisMapping.encode(request).finish();
345
- const promise = this.rpc.request(this.service, "set_control_mapping", data);
346
- return promise.then((data) => exports.ControlAxisMappingAck.decode(new wire_1.BinaryReader(data)));
347
- }
348
- get_control_mapping(request) {
349
- const data = empty_1.Empty.encode(request).finish();
350
- const promise = this.rpc.request(this.service, "get_control_mapping", data);
351
- return promise.then((data) => exports.ControlAxisMapping.decode(new wire_1.BinaryReader(data)));
352
- }
353
- }
354
- exports.VehicleControlClientImpl = VehicleControlClientImpl;
335
+ exports.VehicleControlDefinition = {
336
+ name: "VehicleControl",
337
+ fullName: "keelson.interfaces.vehicle_control.VehicleControl",
338
+ methods: {
339
+ /**
340
+ * Replace the active control-axis mapping atomically. An empty axes
341
+ * map = stop driving (undeclare every axis subscriber). Calling this
342
+ * RPC is the only way to make the vehicle drivable after a connector
343
+ * start.
344
+ */
345
+ set_control_mapping: {
346
+ name: "set_control_mapping",
347
+ requestType: exports.ControlAxisMapping,
348
+ requestStream: false,
349
+ responseType: exports.ControlAxisMappingAck,
350
+ responseStream: false,
351
+ options: {},
352
+ },
353
+ /**
354
+ * Return the currently-active mapping. Useful for operators
355
+ * inspecting state set by another client.
356
+ */
357
+ get_control_mapping: {
358
+ name: "get_control_mapping",
359
+ requestType: empty_1.Empty,
360
+ requestStream: false,
361
+ responseType: exports.ControlAxisMapping,
362
+ responseStream: false,
363
+ options: {},
364
+ },
365
+ },
366
+ };
355
367
  function isObject(value) {
356
368
  return typeof value === "object" && value !== null;
357
369
  }
@@ -1,6 +1,7 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { CommandResult, Coordinate } from "./VehicleCommon";
3
- export declare const protobufPackage = "";
2
+ import { Coordinate } from "./Coordinate";
3
+ import { CommandResult } from "./VehicleCommon";
4
+ export declare const protobufPackage = "keelson.interfaces.vehicle_geofence";
4
5
  /**
5
6
  * One geofence zone: a polygon or a circle, either as a region the
6
7
  * vehicle must stay inside (INCLUSION) or one it must stay outside
@@ -73,23 +74,29 @@ export declare const Geofence: MessageFns<Geofence>;
73
74
  export declare const GeofenceUploadResponse: MessageFns<GeofenceUploadResponse>;
74
75
  export declare const EnableGeofenceRequest: MessageFns<EnableGeofenceRequest>;
75
76
  export declare const EnableGeofenceResponse: MessageFns<EnableGeofenceResponse>;
76
- export interface VehicleGeofence {
77
- upload_geofence(request: Geofence): Promise<GeofenceUploadResponse>;
78
- enable_geofence(request: EnableGeofenceRequest): Promise<EnableGeofenceResponse>;
79
- }
80
- export declare const VehicleGeofenceServiceName = "VehicleGeofence";
81
- export declare class VehicleGeofenceClientImpl implements VehicleGeofence {
82
- private readonly rpc;
83
- private readonly service;
84
- constructor(rpc: Rpc, opts?: {
85
- service?: string;
86
- });
87
- upload_geofence(request: Geofence): Promise<GeofenceUploadResponse>;
88
- enable_geofence(request: EnableGeofenceRequest): Promise<EnableGeofenceResponse>;
89
- }
90
- interface Rpc {
91
- request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
92
- }
77
+ export type VehicleGeofenceDefinition = typeof VehicleGeofenceDefinition;
78
+ export declare const VehicleGeofenceDefinition: {
79
+ readonly name: "VehicleGeofence";
80
+ readonly fullName: "keelson.interfaces.vehicle_geofence.VehicleGeofence";
81
+ readonly methods: {
82
+ readonly upload_geofence: {
83
+ readonly name: "upload_geofence";
84
+ readonly requestType: MessageFns<Geofence>;
85
+ readonly requestStream: false;
86
+ readonly responseType: MessageFns<GeofenceUploadResponse>;
87
+ readonly responseStream: false;
88
+ readonly options: {};
89
+ };
90
+ readonly enable_geofence: {
91
+ readonly name: "enable_geofence";
92
+ readonly requestType: MessageFns<EnableGeofenceRequest>;
93
+ readonly requestStream: false;
94
+ readonly responseType: MessageFns<EnableGeofenceResponse>;
95
+ readonly responseStream: false;
96
+ readonly options: {};
97
+ };
98
+ };
99
+ };
93
100
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
94
101
  export 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 {} ? {
95
102
  [K in keyof T]?: DeepPartial<T[K]>;
@@ -5,12 +5,13 @@
5
5
  // protoc v6.30.2
6
6
  // source: VehicleGeofence.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.VehicleGeofenceClientImpl = exports.VehicleGeofenceServiceName = exports.EnableGeofenceResponse = exports.EnableGeofenceRequest = exports.GeofenceUploadResponse = exports.Geofence = exports.Circle = exports.Polygon = exports.FenceZone = exports.fenceZone_KindToJSON = exports.fenceZone_KindFromJSON = exports.FenceZone_Kind = exports.protobufPackage = void 0;
8
+ exports.VehicleGeofenceDefinition = exports.EnableGeofenceResponse = exports.EnableGeofenceRequest = exports.GeofenceUploadResponse = exports.Geofence = exports.Circle = exports.Polygon = exports.FenceZone = exports.fenceZone_KindToJSON = exports.fenceZone_KindFromJSON = exports.FenceZone_Kind = exports.protobufPackage = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
+ const Coordinate_1 = require("./Coordinate");
11
12
  const VehicleCommon_1 = require("./VehicleCommon");
12
13
  const timestamp_1 = require("./google/protobuf/timestamp");
13
- exports.protobufPackage = "";
14
+ exports.protobufPackage = "keelson.interfaces.vehicle_geofence";
14
15
  var FenceZone_Kind;
15
16
  (function (FenceZone_Kind) {
16
17
  FenceZone_Kind[FenceZone_Kind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
@@ -143,7 +144,7 @@ function createBasePolygon() {
143
144
  exports.Polygon = {
144
145
  encode(message, writer = new wire_1.BinaryWriter()) {
145
146
  for (const v of message.vertices) {
146
- VehicleCommon_1.Coordinate.encode(v, writer.uint32(10).fork()).join();
147
+ Coordinate_1.Coordinate.encode(v, writer.uint32(10).fork()).join();
147
148
  }
148
149
  return writer;
149
150
  },
@@ -158,7 +159,7 @@ exports.Polygon = {
158
159
  if (tag !== 10) {
159
160
  break;
160
161
  }
161
- message.vertices.push(VehicleCommon_1.Coordinate.decode(reader, reader.uint32()));
162
+ message.vertices.push(Coordinate_1.Coordinate.decode(reader, reader.uint32()));
162
163
  continue;
163
164
  }
164
165
  }
@@ -172,14 +173,14 @@ exports.Polygon = {
172
173
  fromJSON(object) {
173
174
  return {
174
175
  vertices: globalThis.Array.isArray(object?.vertices)
175
- ? object.vertices.map((e) => VehicleCommon_1.Coordinate.fromJSON(e))
176
+ ? object.vertices.map((e) => Coordinate_1.Coordinate.fromJSON(e))
176
177
  : [],
177
178
  };
178
179
  },
179
180
  toJSON(message) {
180
181
  const obj = {};
181
182
  if (message.vertices?.length) {
182
- obj.vertices = message.vertices.map((e) => VehicleCommon_1.Coordinate.toJSON(e));
183
+ obj.vertices = message.vertices.map((e) => Coordinate_1.Coordinate.toJSON(e));
183
184
  }
184
185
  return obj;
185
186
  },
@@ -188,7 +189,7 @@ exports.Polygon = {
188
189
  },
189
190
  fromPartial(object) {
190
191
  const message = createBasePolygon();
191
- message.vertices = object.vertices?.map((e) => VehicleCommon_1.Coordinate.fromPartial(e)) || [];
192
+ message.vertices = object.vertices?.map((e) => Coordinate_1.Coordinate.fromPartial(e)) || [];
192
193
  return message;
193
194
  },
194
195
  };
@@ -198,7 +199,7 @@ function createBaseCircle() {
198
199
  exports.Circle = {
199
200
  encode(message, writer = new wire_1.BinaryWriter()) {
200
201
  if (message.center !== undefined) {
201
- VehicleCommon_1.Coordinate.encode(message.center, writer.uint32(10).fork()).join();
202
+ Coordinate_1.Coordinate.encode(message.center, writer.uint32(10).fork()).join();
202
203
  }
203
204
  if (message.radiusM !== 0) {
204
205
  writer.uint32(17).double(message.radiusM);
@@ -216,7 +217,7 @@ exports.Circle = {
216
217
  if (tag !== 10) {
217
218
  break;
218
219
  }
219
- message.center = VehicleCommon_1.Coordinate.decode(reader, reader.uint32());
220
+ message.center = Coordinate_1.Coordinate.decode(reader, reader.uint32());
220
221
  continue;
221
222
  }
222
223
  case 2: {
@@ -236,14 +237,14 @@ exports.Circle = {
236
237
  },
237
238
  fromJSON(object) {
238
239
  return {
239
- center: isSet(object.center) ? VehicleCommon_1.Coordinate.fromJSON(object.center) : undefined,
240
+ center: isSet(object.center) ? Coordinate_1.Coordinate.fromJSON(object.center) : undefined,
240
241
  radiusM: isSet(object.radiusM) ? globalThis.Number(object.radiusM) : 0,
241
242
  };
242
243
  },
243
244
  toJSON(message) {
244
245
  const obj = {};
245
246
  if (message.center !== undefined) {
246
- obj.center = VehicleCommon_1.Coordinate.toJSON(message.center);
247
+ obj.center = Coordinate_1.Coordinate.toJSON(message.center);
247
248
  }
248
249
  if (message.radiusM !== 0) {
249
250
  obj.radiusM = message.radiusM;
@@ -256,7 +257,7 @@ exports.Circle = {
256
257
  fromPartial(object) {
257
258
  const message = createBaseCircle();
258
259
  message.center = (object.center !== undefined && object.center !== null)
259
- ? VehicleCommon_1.Coordinate.fromPartial(object.center)
260
+ ? Coordinate_1.Coordinate.fromPartial(object.center)
260
261
  : undefined;
261
262
  message.radiusM = object.radiusM ?? 0;
262
263
  return message;
@@ -271,7 +272,7 @@ exports.Geofence = {
271
272
  exports.FenceZone.encode(v, writer.uint32(10).fork()).join();
272
273
  }
273
274
  if (message.returnPoint !== undefined) {
274
- VehicleCommon_1.Coordinate.encode(message.returnPoint, writer.uint32(18).fork()).join();
275
+ Coordinate_1.Coordinate.encode(message.returnPoint, writer.uint32(18).fork()).join();
275
276
  }
276
277
  return writer;
277
278
  },
@@ -293,7 +294,7 @@ exports.Geofence = {
293
294
  if (tag !== 18) {
294
295
  break;
295
296
  }
296
- message.returnPoint = VehicleCommon_1.Coordinate.decode(reader, reader.uint32());
297
+ message.returnPoint = Coordinate_1.Coordinate.decode(reader, reader.uint32());
297
298
  continue;
298
299
  }
299
300
  }
@@ -307,7 +308,7 @@ exports.Geofence = {
307
308
  fromJSON(object) {
308
309
  return {
309
310
  zones: globalThis.Array.isArray(object?.zones) ? object.zones.map((e) => exports.FenceZone.fromJSON(e)) : [],
310
- returnPoint: isSet(object.returnPoint) ? VehicleCommon_1.Coordinate.fromJSON(object.returnPoint) : undefined,
311
+ returnPoint: isSet(object.returnPoint) ? Coordinate_1.Coordinate.fromJSON(object.returnPoint) : undefined,
311
312
  };
312
313
  },
313
314
  toJSON(message) {
@@ -316,7 +317,7 @@ exports.Geofence = {
316
317
  obj.zones = message.zones.map((e) => exports.FenceZone.toJSON(e));
317
318
  }
318
319
  if (message.returnPoint !== undefined) {
319
- obj.returnPoint = VehicleCommon_1.Coordinate.toJSON(message.returnPoint);
320
+ obj.returnPoint = Coordinate_1.Coordinate.toJSON(message.returnPoint);
320
321
  }
321
322
  return obj;
322
323
  },
@@ -327,7 +328,7 @@ exports.Geofence = {
327
328
  const message = createBaseGeofence();
328
329
  message.zones = object.zones?.map((e) => exports.FenceZone.fromPartial(e)) || [];
329
330
  message.returnPoint = (object.returnPoint !== undefined && object.returnPoint !== null)
330
- ? VehicleCommon_1.Coordinate.fromPartial(object.returnPoint)
331
+ ? Coordinate_1.Coordinate.fromPartial(object.returnPoint)
331
332
  : undefined;
332
333
  return message;
333
334
  },
@@ -566,26 +567,28 @@ exports.EnableGeofenceResponse = {
566
567
  return message;
567
568
  },
568
569
  };
569
- exports.VehicleGeofenceServiceName = "VehicleGeofence";
570
- class VehicleGeofenceClientImpl {
571
- constructor(rpc, opts) {
572
- this.service = opts?.service || exports.VehicleGeofenceServiceName;
573
- this.rpc = rpc;
574
- this.upload_geofence = this.upload_geofence.bind(this);
575
- this.enable_geofence = this.enable_geofence.bind(this);
576
- }
577
- upload_geofence(request) {
578
- const data = exports.Geofence.encode(request).finish();
579
- const promise = this.rpc.request(this.service, "upload_geofence", data);
580
- return promise.then((data) => exports.GeofenceUploadResponse.decode(new wire_1.BinaryReader(data)));
581
- }
582
- enable_geofence(request) {
583
- const data = exports.EnableGeofenceRequest.encode(request).finish();
584
- const promise = this.rpc.request(this.service, "enable_geofence", data);
585
- return promise.then((data) => exports.EnableGeofenceResponse.decode(new wire_1.BinaryReader(data)));
586
- }
587
- }
588
- exports.VehicleGeofenceClientImpl = VehicleGeofenceClientImpl;
570
+ exports.VehicleGeofenceDefinition = {
571
+ name: "VehicleGeofence",
572
+ fullName: "keelson.interfaces.vehicle_geofence.VehicleGeofence",
573
+ methods: {
574
+ upload_geofence: {
575
+ name: "upload_geofence",
576
+ requestType: exports.Geofence,
577
+ requestStream: false,
578
+ responseType: exports.GeofenceUploadResponse,
579
+ responseStream: false,
580
+ options: {},
581
+ },
582
+ enable_geofence: {
583
+ name: "enable_geofence",
584
+ requestType: exports.EnableGeofenceRequest,
585
+ requestStream: false,
586
+ responseType: exports.EnableGeofenceResponse,
587
+ responseStream: false,
588
+ options: {},
589
+ },
590
+ },
591
+ };
589
592
  function toTimestamp(date) {
590
593
  const seconds = Math.trunc(date.getTime() / 1000);
591
594
  const nanos = (date.getTime() % 1000) * 1000000;
@@ -1,6 +1,6 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
2
  import { CommandResult } from "./VehicleCommon";
3
- export declare const protobufPackage = "";
3
+ export declare const protobufPackage = "keelson.interfaces.vehicle_lifecycle";
4
4
  /**
5
5
  * Arm or disarm the vehicle. ArduPilot semantics: arming clears motor
6
6
  * safeties; disarming forces motor outputs to neutral. Maps onto MAVLink
@@ -61,25 +61,37 @@ export declare const SetModeRequest: MessageFns<SetModeRequest>;
61
61
  export declare const SetModeResponse: MessageFns<SetModeResponse>;
62
62
  export declare const EmergencyStopRequest: MessageFns<EmergencyStopRequest>;
63
63
  export declare const EmergencyStopResponse: MessageFns<EmergencyStopResponse>;
64
- export interface VehicleLifecycle {
65
- arm(request: ArmRequest): Promise<ArmResponse>;
66
- set_mode(request: SetModeRequest): Promise<SetModeResponse>;
67
- emergency_stop(request: EmergencyStopRequest): Promise<EmergencyStopResponse>;
68
- }
69
- export declare const VehicleLifecycleServiceName = "VehicleLifecycle";
70
- export declare class VehicleLifecycleClientImpl implements VehicleLifecycle {
71
- private readonly rpc;
72
- private readonly service;
73
- constructor(rpc: Rpc, opts?: {
74
- service?: string;
75
- });
76
- arm(request: ArmRequest): Promise<ArmResponse>;
77
- set_mode(request: SetModeRequest): Promise<SetModeResponse>;
78
- emergency_stop(request: EmergencyStopRequest): Promise<EmergencyStopResponse>;
79
- }
80
- interface Rpc {
81
- request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
82
- }
64
+ export type VehicleLifecycleDefinition = typeof VehicleLifecycleDefinition;
65
+ export declare const VehicleLifecycleDefinition: {
66
+ readonly name: "VehicleLifecycle";
67
+ readonly fullName: "keelson.interfaces.vehicle_lifecycle.VehicleLifecycle";
68
+ readonly methods: {
69
+ readonly arm: {
70
+ readonly name: "arm";
71
+ readonly requestType: MessageFns<ArmRequest>;
72
+ readonly requestStream: false;
73
+ readonly responseType: MessageFns<ArmResponse>;
74
+ readonly responseStream: false;
75
+ readonly options: {};
76
+ };
77
+ readonly set_mode: {
78
+ readonly name: "set_mode";
79
+ readonly requestType: MessageFns<SetModeRequest>;
80
+ readonly requestStream: false;
81
+ readonly responseType: MessageFns<SetModeResponse>;
82
+ readonly responseStream: false;
83
+ readonly options: {};
84
+ };
85
+ readonly emergency_stop: {
86
+ readonly name: "emergency_stop";
87
+ readonly requestType: MessageFns<EmergencyStopRequest>;
88
+ readonly requestStream: false;
89
+ readonly responseType: MessageFns<EmergencyStopResponse>;
90
+ readonly responseStream: false;
91
+ readonly options: {};
92
+ };
93
+ };
94
+ };
83
95
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
84
96
  export 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 {} ? {
85
97
  [K in keyof T]?: DeepPartial<T[K]>;
@@ -5,12 +5,12 @@
5
5
  // protoc v6.30.2
6
6
  // source: VehicleLifecycle.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.VehicleLifecycleClientImpl = exports.VehicleLifecycleServiceName = exports.EmergencyStopResponse = exports.EmergencyStopRequest = exports.SetModeResponse = exports.SetModeRequest = exports.ArmResponse = exports.ArmRequest = exports.protobufPackage = void 0;
8
+ exports.VehicleLifecycleDefinition = exports.EmergencyStopResponse = exports.EmergencyStopRequest = exports.SetModeResponse = exports.SetModeRequest = exports.ArmResponse = exports.ArmRequest = exports.protobufPackage = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const VehicleCommon_1 = require("./VehicleCommon");
12
12
  const timestamp_1 = require("./google/protobuf/timestamp");
13
- exports.protobufPackage = "";
13
+ exports.protobufPackage = "keelson.interfaces.vehicle_lifecycle";
14
14
  function createBaseArmRequest() {
15
15
  return { timestamp: undefined, arm: false };
16
16
  }
@@ -462,32 +462,36 @@ exports.EmergencyStopResponse = {
462
462
  return message;
463
463
  },
464
464
  };
465
- exports.VehicleLifecycleServiceName = "VehicleLifecycle";
466
- class VehicleLifecycleClientImpl {
467
- constructor(rpc, opts) {
468
- this.service = opts?.service || exports.VehicleLifecycleServiceName;
469
- this.rpc = rpc;
470
- this.arm = this.arm.bind(this);
471
- this.set_mode = this.set_mode.bind(this);
472
- this.emergency_stop = this.emergency_stop.bind(this);
473
- }
474
- arm(request) {
475
- const data = exports.ArmRequest.encode(request).finish();
476
- const promise = this.rpc.request(this.service, "arm", data);
477
- return promise.then((data) => exports.ArmResponse.decode(new wire_1.BinaryReader(data)));
478
- }
479
- set_mode(request) {
480
- const data = exports.SetModeRequest.encode(request).finish();
481
- const promise = this.rpc.request(this.service, "set_mode", data);
482
- return promise.then((data) => exports.SetModeResponse.decode(new wire_1.BinaryReader(data)));
483
- }
484
- emergency_stop(request) {
485
- const data = exports.EmergencyStopRequest.encode(request).finish();
486
- const promise = this.rpc.request(this.service, "emergency_stop", data);
487
- return promise.then((data) => exports.EmergencyStopResponse.decode(new wire_1.BinaryReader(data)));
488
- }
489
- }
490
- exports.VehicleLifecycleClientImpl = VehicleLifecycleClientImpl;
465
+ exports.VehicleLifecycleDefinition = {
466
+ name: "VehicleLifecycle",
467
+ fullName: "keelson.interfaces.vehicle_lifecycle.VehicleLifecycle",
468
+ methods: {
469
+ arm: {
470
+ name: "arm",
471
+ requestType: exports.ArmRequest,
472
+ requestStream: false,
473
+ responseType: exports.ArmResponse,
474
+ responseStream: false,
475
+ options: {},
476
+ },
477
+ set_mode: {
478
+ name: "set_mode",
479
+ requestType: exports.SetModeRequest,
480
+ requestStream: false,
481
+ responseType: exports.SetModeResponse,
482
+ responseStream: false,
483
+ options: {},
484
+ },
485
+ emergency_stop: {
486
+ name: "emergency_stop",
487
+ requestType: exports.EmergencyStopRequest,
488
+ requestStream: false,
489
+ responseType: exports.EmergencyStopResponse,
490
+ responseStream: false,
491
+ options: {},
492
+ },
493
+ },
494
+ };
491
495
  function toTimestamp(date) {
492
496
  const seconds = Math.trunc(date.getTime() / 1000);
493
497
  const nanos = (date.getTime() % 1000) * 1000000;
@@ -1,73 +1,8 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { CommandResult, Coordinate } from "./VehicleCommon";
2
+ import { Mission } from "./Mission";
3
+ import { CommandResult } from "./VehicleCommon";
3
4
  import { Empty } from "./google/protobuf/empty";
4
- export declare const protobufPackage = "";
5
- /**
6
- * One step in a mission. The `step` oneof picks the action; fields
7
- * that don't apply to the chosen step are simply absent (no opaque
8
- * `param1..4` carrying overloaded meanings).
9
- *
10
- * Sequence position is the index in Mission.items — there is no
11
- * separate `seq` field. Connectors that need wire-level sequence
12
- * numbers (e.g. MAVLink MISSION_ITEM_INT) synthesise them from the
13
- * list index on upload.
14
- */
15
- export interface MissionItem {
16
- autocontinue: boolean;
17
- waypoint?: Waypoint | undefined;
18
- loiter?: Loiter | undefined;
19
- delay?: Delay | undefined;
20
- returnHome?: ReturnHome | undefined;
21
- changeSpeed?: ChangeSpeed | undefined;
22
- setHome?: SetHome | undefined;
23
- }
24
- export interface Mission {
25
- items: MissionItem[];
26
- }
27
- /**
28
- * Drive to a position and (optionally) hold for a fixed duration before
29
- * proceeding. `altitude_m` is interpreted per the connector's vehicle
30
- * type (surface vessels typically use 0). `acceptance_radius_m = 0`
31
- * means "use the autopilot's default".
32
- */
33
- export interface Waypoint {
34
- position: Coordinate | undefined;
35
- altitudeM: number;
36
- acceptanceRadiusM: number;
37
- /**
38
- * Hold at the waypoint for this many seconds before advancing.
39
- * 0 = pass straight through.
40
- */
41
- holdTimeS: number;
42
- }
43
- /** Orbit a position. Termination picks how the loiter ends. */
44
- export interface Loiter {
45
- position: Coordinate | undefined;
46
- altitudeM: number;
47
- radiusM: number;
48
- /** loiter forever */
49
- unlimited?: Empty | undefined;
50
- /** loiter for N complete orbits */
51
- turns?: number | undefined;
52
- /** loiter for this many seconds */
53
- durationS?: number | undefined;
54
- }
55
- /** Wait in place for a fixed duration before advancing. */
56
- export interface Delay {
57
- durationS: number;
58
- }
59
- /** Return to the launch / home position. */
60
- export interface ReturnHome {
61
- }
62
- /** Change the cruise speed used by subsequent waypoints. */
63
- export interface ChangeSpeed {
64
- speedMps: number;
65
- }
66
- /** Update the vehicle's home position to a specific coordinate. */
67
- export interface SetHome {
68
- position: Coordinate | undefined;
69
- altitudeM: number;
70
- }
5
+ export declare const protobufPackage = "keelson.interfaces.vehicle_mission";
71
6
  /**
72
7
  * Autopilot returns MAV_MISSION_RESULT (not MAV_RESULT) for mission
73
8
  * uploads. The connector maps MAV_MISSION_RESULT values into
@@ -113,40 +48,50 @@ export interface SetCurrentWaypointResponse {
113
48
  */
114
49
  seqActual: number;
115
50
  }
116
- export declare const MissionItem: MessageFns<MissionItem>;
117
- export declare const Mission: MessageFns<Mission>;
118
- export declare const Waypoint: MessageFns<Waypoint>;
119
- export declare const Loiter: MessageFns<Loiter>;
120
- export declare const Delay: MessageFns<Delay>;
121
- export declare const ReturnHome: MessageFns<ReturnHome>;
122
- export declare const ChangeSpeed: MessageFns<ChangeSpeed>;
123
- export declare const SetHome: MessageFns<SetHome>;
124
51
  export declare const MissionUploadResponse: MessageFns<MissionUploadResponse>;
125
52
  export declare const ClearMissionRequest: MessageFns<ClearMissionRequest>;
126
53
  export declare const ClearMissionResponse: MessageFns<ClearMissionResponse>;
127
54
  export declare const SetCurrentWaypointRequest: MessageFns<SetCurrentWaypointRequest>;
128
55
  export declare const SetCurrentWaypointResponse: MessageFns<SetCurrentWaypointResponse>;
129
- export interface VehicleMission {
130
- upload_mission(request: Mission): Promise<MissionUploadResponse>;
131
- download_mission(request: Empty): Promise<Mission>;
132
- clear_mission(request: ClearMissionRequest): Promise<ClearMissionResponse>;
133
- set_current_waypoint(request: SetCurrentWaypointRequest): Promise<SetCurrentWaypointResponse>;
134
- }
135
- export declare const VehicleMissionServiceName = "VehicleMission";
136
- export declare class VehicleMissionClientImpl implements VehicleMission {
137
- private readonly rpc;
138
- private readonly service;
139
- constructor(rpc: Rpc, opts?: {
140
- service?: string;
141
- });
142
- upload_mission(request: Mission): Promise<MissionUploadResponse>;
143
- download_mission(request: Empty): Promise<Mission>;
144
- clear_mission(request: ClearMissionRequest): Promise<ClearMissionResponse>;
145
- set_current_waypoint(request: SetCurrentWaypointRequest): Promise<SetCurrentWaypointResponse>;
146
- }
147
- interface Rpc {
148
- request(service: string, method: string, data: Uint8Array): Promise<Uint8Array>;
149
- }
56
+ export type VehicleMissionDefinition = typeof VehicleMissionDefinition;
57
+ export declare const VehicleMissionDefinition: {
58
+ readonly name: "VehicleMission";
59
+ readonly fullName: "keelson.interfaces.vehicle_mission.VehicleMission";
60
+ readonly methods: {
61
+ readonly upload_mission: {
62
+ readonly name: "upload_mission";
63
+ readonly requestType: import("./Mission").MessageFns<Mission>;
64
+ readonly requestStream: false;
65
+ readonly responseType: MessageFns<MissionUploadResponse>;
66
+ readonly responseStream: false;
67
+ readonly options: {};
68
+ };
69
+ readonly download_mission: {
70
+ readonly name: "download_mission";
71
+ readonly requestType: import("./google/protobuf/empty").MessageFns<Empty>;
72
+ readonly requestStream: false;
73
+ readonly responseType: import("./Mission").MessageFns<Mission>;
74
+ readonly responseStream: false;
75
+ readonly options: {};
76
+ };
77
+ readonly clear_mission: {
78
+ readonly name: "clear_mission";
79
+ readonly requestType: MessageFns<ClearMissionRequest>;
80
+ readonly requestStream: false;
81
+ readonly responseType: MessageFns<ClearMissionResponse>;
82
+ readonly responseStream: false;
83
+ readonly options: {};
84
+ };
85
+ readonly set_current_waypoint: {
86
+ readonly name: "set_current_waypoint";
87
+ readonly requestType: MessageFns<SetCurrentWaypointRequest>;
88
+ readonly requestStream: false;
89
+ readonly responseType: MessageFns<SetCurrentWaypointResponse>;
90
+ readonly responseStream: false;
91
+ readonly options: {};
92
+ };
93
+ };
94
+ };
150
95
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
151
96
  export 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 {} ? {
152
97
  [K in keyof T]?: DeepPartial<T[K]>;