@rise-maritime/keelson-js 0.6.0-alpha.282.dev.2 → 0.6.0-alpha.307.dev.2

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 (38) hide show
  1. package/dist/index.d.ts +31 -31
  2. package/dist/interfaces/ContainerControl.d.ts +7 -0
  3. package/dist/interfaces/ContainerControl.js +18 -1
  4. package/dist/interfaces/ContainerHost.d.ts +45 -0
  5. package/dist/interfaces/ContainerHost.js +332 -1
  6. package/dist/interfaces/NavigationRiskControl.d.ts +161 -0
  7. package/dist/interfaces/NavigationRiskControl.js +1007 -0
  8. package/dist/interfaces/ReplayControl.d.ts +49 -1
  9. package/dist/interfaces/ReplayControl.js +274 -1
  10. package/dist/interfaces/Route.d.ts +3 -0
  11. package/dist/interfaces/serviceRegistry.d.ts +33 -33
  12. package/dist/interfaces/serviceRegistry.js +2 -2
  13. package/dist/interfaces.json +1 -1
  14. package/dist/payloads/AdviceDisposition.d.ts +20 -5
  15. package/dist/payloads/AdviceDisposition.js +7 -0
  16. package/dist/payloads/ContainerHost.d.ts +48 -0
  17. package/dist/payloads/ContainerHost.js +341 -1
  18. package/dist/payloads/NavigationAdvice.d.ts +24 -0
  19. package/dist/payloads/NavigationAdvice.js +91 -1
  20. package/dist/payloads/NavigationRisk.d.ts +341 -0
  21. package/dist/payloads/NavigationRisk.js +2530 -0
  22. package/dist/payloads/NavigationState.d.ts +0 -46
  23. package/dist/payloads/NavigationState.js +1 -252
  24. package/dist/payloads/Route.d.ts +3 -0
  25. package/dist/payloads/index.keelson.d.ts +1 -0
  26. package/dist/payloads/index.keelson.js +1 -0
  27. package/dist/subjects.json +1 -0
  28. package/package.json +1 -1
  29. package/dist/interfaces/NavigationControl.d.ts +0 -169
  30. package/dist/interfaces/NavigationControl.js +0 -806
  31. package/dist/interfaces/NavigationState.d.ts +0 -132
  32. package/dist/interfaces/NavigationState.js +0 -615
  33. package/dist/interfaces/OperationalAuthority.d.ts +0 -217
  34. package/dist/interfaces/OperationalAuthority.js +0 -807
  35. package/dist/interfaces/VesselType.d.ts +0 -133
  36. package/dist/interfaces/VesselType.js +0 -726
  37. package/dist/interfaces/Voyage.d.ts +0 -151
  38. package/dist/interfaces/Voyage.js +0 -855
@@ -30,11 +30,6 @@ export interface NavigationState {
30
30
  reason: string;
31
31
  /** Subjects this process needs and currently lacks or holds stale, e.g. "location_fix". */
32
32
  degradedInputs: string[];
33
- /**
34
- * The guidance order in force: what this process has been told to steer by, whether or not it
35
- * holds the conn to do it. Absent when it has no voyage. Set through navigation_control/v1.
36
- */
37
- guidanceOrder?: GuidanceOrder | undefined;
38
33
  }
39
34
  export declare enum NavigationState_Mode {
40
35
  MODE_UNSPECIFIED = 0,
@@ -68,52 +63,11 @@ export declare enum NavigationState_SubMode {
68
63
  SUB_MODE_HOLDING = 3,
69
64
  /** SUB_MODE_REROUTING - awaiting a new route edition */
70
65
  SUB_MODE_REROUTING = 4,
71
- /** SUB_MODE_STEERING - holding an ordered course or heading, off the track (GuidanceOrder) */
72
- SUB_MODE_STEERING = 5,
73
66
  UNRECOGNIZED = -1
74
67
  }
75
68
  export declare function navigationState_SubModeFromJSON(object: any): NavigationState_SubMode;
76
69
  export declare function navigationState_SubModeToJSON(object: NavigationState_SubMode): string;
77
- /**
78
- * How a navigation process is ordered to steer while a voyage is active. The one type used both to
79
- * give the order (navigation_control/v1 set_guidance_order, load_route) and to report the order in
80
- * force (NavigationState.guidance_order), so what was asked and what is held read alike.
81
- *
82
- * The frame is the field, as in vehicle_navigation/v1's SteeringOrder, so an order cannot name one
83
- * frame and carry a value meant for another. Course over ground and heading are different
84
- * instructions: in any current they differ by the drift angle.
85
- */
86
- export interface GuidanceOrder {
87
- $type: "keelson.GuidanceOrder";
88
- track?: GuidanceOrder_Track | undefined;
89
- /** Make good this course, degrees true, [0, 360). */
90
- courseOverGroundDeg?: number | undefined;
91
- /** Point this way, degrees true, [0, 360). */
92
- headingDeg?: number | undefined;
93
- hold?: GuidanceOrder_Hold | undefined;
94
- /**
95
- * Speed through the water to keep, in knots. Absent: the planned speed of the current leg for
96
- * `track`, the speed she has for a course or heading. Ignored by `hold`.
97
- */
98
- speedKnots?: number | undefined;
99
- }
100
- /** Follow the planned track of the active route edition. */
101
- export interface GuidanceOrder_Track {
102
- $type: "keelson.GuidanceOrder.Track";
103
- /**
104
- * Rejoin at this waypoint (Waypoint.id, never an index). Absent: the leg the process judges
105
- * current, which is how a hand-back from a course or heading order resumes.
106
- */
107
- resumeFromWaypointId?: string | undefined;
108
- }
109
- /** Stop making way and keep station where the order finds her, until told otherwise. */
110
- export interface GuidanceOrder_Hold {
111
- $type: "keelson.GuidanceOrder.Hold";
112
- }
113
70
  export declare const NavigationState: MessageFns<NavigationState, "keelson.NavigationState">;
114
- export declare const GuidanceOrder: MessageFns<GuidanceOrder, "keelson.GuidanceOrder">;
115
- export declare const GuidanceOrder_Track: MessageFns<GuidanceOrder_Track, "keelson.GuidanceOrder.Track">;
116
- export declare const GuidanceOrder_Hold: MessageFns<GuidanceOrder_Hold, "keelson.GuidanceOrder.Hold">;
117
71
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
118
72
  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 {} ? {
119
73
  [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
@@ -5,7 +5,7 @@
5
5
  // protoc v6.30.2
6
6
  // source: NavigationState.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.GuidanceOrder_Hold = exports.GuidanceOrder_Track = exports.GuidanceOrder = exports.NavigationState = exports.navigationState_SubModeToJSON = exports.navigationState_SubModeFromJSON = exports.NavigationState_SubMode = exports.navigationState_ModeToJSON = exports.navigationState_ModeFromJSON = exports.NavigationState_Mode = void 0;
8
+ exports.NavigationState = exports.navigationState_SubModeToJSON = exports.navigationState_SubModeFromJSON = exports.NavigationState_SubMode = exports.navigationState_ModeToJSON = exports.navigationState_ModeFromJSON = exports.NavigationState_Mode = void 0;
9
9
  /* eslint-disable */
10
10
  const wire_1 = require("@bufbuild/protobuf/wire");
11
11
  const OperationalAuthority_1 = require("./OperationalAuthority");
@@ -96,8 +96,6 @@ var NavigationState_SubMode;
96
96
  NavigationState_SubMode[NavigationState_SubMode["SUB_MODE_HOLDING"] = 3] = "SUB_MODE_HOLDING";
97
97
  /** SUB_MODE_REROUTING - awaiting a new route edition */
98
98
  NavigationState_SubMode[NavigationState_SubMode["SUB_MODE_REROUTING"] = 4] = "SUB_MODE_REROUTING";
99
- /** SUB_MODE_STEERING - holding an ordered course or heading, off the track (GuidanceOrder) */
100
- NavigationState_SubMode[NavigationState_SubMode["SUB_MODE_STEERING"] = 5] = "SUB_MODE_STEERING";
101
99
  NavigationState_SubMode[NavigationState_SubMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
102
100
  })(NavigationState_SubMode || (exports.NavigationState_SubMode = NavigationState_SubMode = {}));
103
101
  function navigationState_SubModeFromJSON(object) {
@@ -117,9 +115,6 @@ function navigationState_SubModeFromJSON(object) {
117
115
  case 4:
118
116
  case "SUB_MODE_REROUTING":
119
117
  return NavigationState_SubMode.SUB_MODE_REROUTING;
120
- case 5:
121
- case "SUB_MODE_STEERING":
122
- return NavigationState_SubMode.SUB_MODE_STEERING;
123
118
  case -1:
124
119
  case "UNRECOGNIZED":
125
120
  default:
@@ -139,8 +134,6 @@ function navigationState_SubModeToJSON(object) {
139
134
  return "SUB_MODE_HOLDING";
140
135
  case NavigationState_SubMode.SUB_MODE_REROUTING:
141
136
  return "SUB_MODE_REROUTING";
142
- case NavigationState_SubMode.SUB_MODE_STEERING:
143
- return "SUB_MODE_STEERING";
144
137
  case NavigationState_SubMode.UNRECOGNIZED:
145
138
  default:
146
139
  return "UNRECOGNIZED";
@@ -160,7 +153,6 @@ function createBaseNavigationState() {
160
153
  connHeld: false,
161
154
  reason: "",
162
155
  degradedInputs: [],
163
- guidanceOrder: undefined,
164
156
  };
165
157
  }
166
158
  exports.NavigationState = {
@@ -196,9 +188,6 @@ exports.NavigationState = {
196
188
  for (const v of message.degradedInputs) {
197
189
  writer.uint32(82).string(v);
198
190
  }
199
- if (message.guidanceOrder !== undefined) {
200
- exports.GuidanceOrder.encode(message.guidanceOrder, writer.uint32(90).fork()).join();
201
- }
202
191
  return writer;
203
192
  },
204
193
  decode(input, length) {
@@ -278,13 +267,6 @@ exports.NavigationState = {
278
267
  message.degradedInputs.push(reader.string());
279
268
  continue;
280
269
  }
281
- case 11: {
282
- if (tag !== 90) {
283
- break;
284
- }
285
- message.guidanceOrder = exports.GuidanceOrder.decode(reader, reader.uint32());
286
- continue;
287
- }
288
270
  }
289
271
  if ((tag & 7) === 4 || tag === 0) {
290
272
  break;
@@ -312,7 +294,6 @@ exports.NavigationState = {
312
294
  degradedInputs: globalThis.Array.isArray(object?.degradedInputs)
313
295
  ? object.degradedInputs.map((e) => globalThis.String(e))
314
296
  : [],
315
- guidanceOrder: isSet(object.guidanceOrder) ? exports.GuidanceOrder.fromJSON(object.guidanceOrder) : undefined,
316
297
  };
317
298
  },
318
299
  toJSON(message) {
@@ -347,9 +328,6 @@ exports.NavigationState = {
347
328
  if (message.degradedInputs?.length) {
348
329
  obj.degradedInputs = message.degradedInputs;
349
330
  }
350
- if (message.guidanceOrder !== undefined) {
351
- obj.guidanceOrder = exports.GuidanceOrder.toJSON(message.guidanceOrder);
352
- }
353
331
  return obj;
354
332
  },
355
333
  create(base) {
@@ -369,239 +347,10 @@ exports.NavigationState = {
369
347
  message.connHeld = object.connHeld ?? false;
370
348
  message.reason = object.reason ?? "";
371
349
  message.degradedInputs = object.degradedInputs?.map((e) => e) || [];
372
- message.guidanceOrder = (object.guidanceOrder !== undefined && object.guidanceOrder !== null)
373
- ? exports.GuidanceOrder.fromPartial(object.guidanceOrder)
374
- : undefined;
375
350
  return message;
376
351
  },
377
352
  };
378
353
  typeRegistry_1.messageTypeRegistry.set(exports.NavigationState.$type, exports.NavigationState);
379
- function createBaseGuidanceOrder() {
380
- return {
381
- $type: "keelson.GuidanceOrder",
382
- track: undefined,
383
- courseOverGroundDeg: undefined,
384
- headingDeg: undefined,
385
- hold: undefined,
386
- speedKnots: undefined,
387
- };
388
- }
389
- exports.GuidanceOrder = {
390
- $type: "keelson.GuidanceOrder",
391
- encode(message, writer = new wire_1.BinaryWriter()) {
392
- if (message.track !== undefined) {
393
- exports.GuidanceOrder_Track.encode(message.track, writer.uint32(10).fork()).join();
394
- }
395
- if (message.courseOverGroundDeg !== undefined) {
396
- writer.uint32(17).double(message.courseOverGroundDeg);
397
- }
398
- if (message.headingDeg !== undefined) {
399
- writer.uint32(25).double(message.headingDeg);
400
- }
401
- if (message.hold !== undefined) {
402
- exports.GuidanceOrder_Hold.encode(message.hold, writer.uint32(34).fork()).join();
403
- }
404
- if (message.speedKnots !== undefined) {
405
- writer.uint32(41).double(message.speedKnots);
406
- }
407
- return writer;
408
- },
409
- decode(input, length) {
410
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
411
- let end = length === undefined ? reader.len : reader.pos + length;
412
- const message = createBaseGuidanceOrder();
413
- while (reader.pos < end) {
414
- const tag = reader.uint32();
415
- switch (tag >>> 3) {
416
- case 1: {
417
- if (tag !== 10) {
418
- break;
419
- }
420
- message.track = exports.GuidanceOrder_Track.decode(reader, reader.uint32());
421
- continue;
422
- }
423
- case 2: {
424
- if (tag !== 17) {
425
- break;
426
- }
427
- message.courseOverGroundDeg = reader.double();
428
- continue;
429
- }
430
- case 3: {
431
- if (tag !== 25) {
432
- break;
433
- }
434
- message.headingDeg = reader.double();
435
- continue;
436
- }
437
- case 4: {
438
- if (tag !== 34) {
439
- break;
440
- }
441
- message.hold = exports.GuidanceOrder_Hold.decode(reader, reader.uint32());
442
- continue;
443
- }
444
- case 5: {
445
- if (tag !== 41) {
446
- break;
447
- }
448
- message.speedKnots = reader.double();
449
- continue;
450
- }
451
- }
452
- if ((tag & 7) === 4 || tag === 0) {
453
- break;
454
- }
455
- reader.skip(tag & 7);
456
- }
457
- return message;
458
- },
459
- fromJSON(object) {
460
- return {
461
- $type: exports.GuidanceOrder.$type,
462
- track: isSet(object.track) ? exports.GuidanceOrder_Track.fromJSON(object.track) : undefined,
463
- courseOverGroundDeg: isSet(object.courseOverGroundDeg)
464
- ? globalThis.Number(object.courseOverGroundDeg)
465
- : undefined,
466
- headingDeg: isSet(object.headingDeg) ? globalThis.Number(object.headingDeg) : undefined,
467
- hold: isSet(object.hold) ? exports.GuidanceOrder_Hold.fromJSON(object.hold) : undefined,
468
- speedKnots: isSet(object.speedKnots) ? globalThis.Number(object.speedKnots) : undefined,
469
- };
470
- },
471
- toJSON(message) {
472
- const obj = {};
473
- if (message.track !== undefined) {
474
- obj.track = exports.GuidanceOrder_Track.toJSON(message.track);
475
- }
476
- if (message.courseOverGroundDeg !== undefined) {
477
- obj.courseOverGroundDeg = message.courseOverGroundDeg;
478
- }
479
- if (message.headingDeg !== undefined) {
480
- obj.headingDeg = message.headingDeg;
481
- }
482
- if (message.hold !== undefined) {
483
- obj.hold = exports.GuidanceOrder_Hold.toJSON(message.hold);
484
- }
485
- if (message.speedKnots !== undefined) {
486
- obj.speedKnots = message.speedKnots;
487
- }
488
- return obj;
489
- },
490
- create(base) {
491
- return exports.GuidanceOrder.fromPartial(base ?? {});
492
- },
493
- fromPartial(object) {
494
- const message = createBaseGuidanceOrder();
495
- message.track = (object.track !== undefined && object.track !== null)
496
- ? exports.GuidanceOrder_Track.fromPartial(object.track)
497
- : undefined;
498
- message.courseOverGroundDeg = object.courseOverGroundDeg ?? undefined;
499
- message.headingDeg = object.headingDeg ?? undefined;
500
- message.hold = (object.hold !== undefined && object.hold !== null)
501
- ? exports.GuidanceOrder_Hold.fromPartial(object.hold)
502
- : undefined;
503
- message.speedKnots = object.speedKnots ?? undefined;
504
- return message;
505
- },
506
- };
507
- typeRegistry_1.messageTypeRegistry.set(exports.GuidanceOrder.$type, exports.GuidanceOrder);
508
- function createBaseGuidanceOrder_Track() {
509
- return { $type: "keelson.GuidanceOrder.Track", resumeFromWaypointId: undefined };
510
- }
511
- exports.GuidanceOrder_Track = {
512
- $type: "keelson.GuidanceOrder.Track",
513
- encode(message, writer = new wire_1.BinaryWriter()) {
514
- if (message.resumeFromWaypointId !== undefined) {
515
- writer.uint32(10).string(message.resumeFromWaypointId);
516
- }
517
- return writer;
518
- },
519
- decode(input, length) {
520
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
521
- let end = length === undefined ? reader.len : reader.pos + length;
522
- const message = createBaseGuidanceOrder_Track();
523
- while (reader.pos < end) {
524
- const tag = reader.uint32();
525
- switch (tag >>> 3) {
526
- case 1: {
527
- if (tag !== 10) {
528
- break;
529
- }
530
- message.resumeFromWaypointId = reader.string();
531
- continue;
532
- }
533
- }
534
- if ((tag & 7) === 4 || tag === 0) {
535
- break;
536
- }
537
- reader.skip(tag & 7);
538
- }
539
- return message;
540
- },
541
- fromJSON(object) {
542
- return {
543
- $type: exports.GuidanceOrder_Track.$type,
544
- resumeFromWaypointId: isSet(object.resumeFromWaypointId)
545
- ? globalThis.String(object.resumeFromWaypointId)
546
- : undefined,
547
- };
548
- },
549
- toJSON(message) {
550
- const obj = {};
551
- if (message.resumeFromWaypointId !== undefined) {
552
- obj.resumeFromWaypointId = message.resumeFromWaypointId;
553
- }
554
- return obj;
555
- },
556
- create(base) {
557
- return exports.GuidanceOrder_Track.fromPartial(base ?? {});
558
- },
559
- fromPartial(object) {
560
- const message = createBaseGuidanceOrder_Track();
561
- message.resumeFromWaypointId = object.resumeFromWaypointId ?? undefined;
562
- return message;
563
- },
564
- };
565
- typeRegistry_1.messageTypeRegistry.set(exports.GuidanceOrder_Track.$type, exports.GuidanceOrder_Track);
566
- function createBaseGuidanceOrder_Hold() {
567
- return { $type: "keelson.GuidanceOrder.Hold" };
568
- }
569
- exports.GuidanceOrder_Hold = {
570
- $type: "keelson.GuidanceOrder.Hold",
571
- encode(_, writer = new wire_1.BinaryWriter()) {
572
- return writer;
573
- },
574
- decode(input, length) {
575
- const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
576
- let end = length === undefined ? reader.len : reader.pos + length;
577
- const message = createBaseGuidanceOrder_Hold();
578
- while (reader.pos < end) {
579
- const tag = reader.uint32();
580
- switch (tag >>> 3) {
581
- }
582
- if ((tag & 7) === 4 || tag === 0) {
583
- break;
584
- }
585
- reader.skip(tag & 7);
586
- }
587
- return message;
588
- },
589
- fromJSON(_) {
590
- return { $type: exports.GuidanceOrder_Hold.$type };
591
- },
592
- toJSON(_) {
593
- const obj = {};
594
- return obj;
595
- },
596
- create(base) {
597
- return exports.GuidanceOrder_Hold.fromPartial(base ?? {});
598
- },
599
- fromPartial(_) {
600
- const message = createBaseGuidanceOrder_Hold();
601
- return message;
602
- },
603
- };
604
- typeRegistry_1.messageTypeRegistry.set(exports.GuidanceOrder_Hold.$type, exports.GuidanceOrder_Hold);
605
354
  function toTimestamp(date) {
606
355
  const seconds = Math.trunc(date.getTime() / 1000);
607
356
  const nanos = (date.getTime() % 1000) * 1000000;
@@ -417,6 +417,9 @@ export interface Waypoints {
417
417
  * route sets no default speed" as distinct from "this route defaults to
418
418
  * zero", and a consumer merging defaults into a waypoint cannot tell which
419
419
  * it was handed.
420
+ *
421
+ * `Leg.xtd_corridor_mode` and both boundary lists are ignored here: a drawn
422
+ * corridor belongs to one stretch of water and cannot be a default (§6.2.2).
420
423
  */
421
424
  export interface DefaultWaypoint {
422
425
  $type: "keelson.DefaultWaypoint";
@@ -22,6 +22,7 @@ export * from "./Geojson";
22
22
  export * from "./LocationFixQuality";
23
23
  export * from "./Mission";
24
24
  export * from "./NavigationAdvice";
25
+ export * from "./NavigationRisk";
25
26
  export * from "./NavigationState";
26
27
  export * from "./NetworkStatus";
27
28
  export * from "./Primitives";
@@ -43,6 +43,7 @@ __exportStar(require("./Geojson"), exports);
43
43
  __exportStar(require("./LocationFixQuality"), exports);
44
44
  __exportStar(require("./Mission"), exports);
45
45
  __exportStar(require("./NavigationAdvice"), exports);
46
+ __exportStar(require("./NavigationRisk"), exports);
46
47
  __exportStar(require("./NavigationState"), exports);
47
48
  __exportStar(require("./NetworkStatus"), exports);
48
49
  __exportStar(require("./Primitives"), exports);
@@ -240,6 +240,7 @@
240
240
  "encounter": "keelson.Encounter",
241
241
  "navigation_advice": "keelson.NavigationAdvice",
242
242
  "advice_disposition": "keelson.AdviceDisposition",
243
+ "navigation_risk": "keelson.NavigationRisk",
243
244
  "command_authority": "keelson.CommandAuthority",
244
245
  "command_request": "keelson.CommandRequest",
245
246
  "checklist_event": "keelson.ChecklistEvent",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rise-maritime/keelson-js",
3
3
  "//version": "NOT the published version. The release workflow overwrites it from the release tag (npm version --no-git-tag-version), so tag and artifact cannot disagree. Only matters for local installs; do not hand-bump before tagging — that manual step is what broke release 0.5.4.",
4
- "version": "0.6.0-alpha.282.dev.2",
4
+ "version": "0.6.0-alpha.307.dev.2",
5
5
  "description": "Keelson JavaScript SDK with Node-RED nodes",
6
6
  "main": "dist/index.js",
7
7
  "files": [
@@ -1,169 +0,0 @@
1
- import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
- import { GuidanceOrder, NavigationState } from "./NavigationState";
3
- import { RouteRef } from "./Route";
4
- import { CommandResult } from "./VehicleCommon";
5
- import { VoyageStatus } from "./Voyage";
6
- export declare const protobufPackage = "keelson.interfaces.navigation_control";
7
- /** Who is calling, and on what authority. Carried by every mutating request. */
8
- export interface Caller {
9
- /**
10
- * Identity of the operator and site, or the service, e.g. "ted@ROC-1", "slipway". Recorded in
11
- * the responder's decision log, so it should mean something to somebody reading that later.
12
- */
13
- controllerId: string;
14
- /**
15
- * The token of the command_authority lease the caller holds. Absent when it holds none, which
16
- * is valid only while the responder holds the conn itself (see WHO MAY CALL).
17
- */
18
- authorityToken?: string | undefined;
19
- }
20
- /** Make a route edition the active voyage of this vessel. */
21
- export interface LoadRouteRequest {
22
- /** Client wall-clock at send, for latency logging only. */
23
- timestamp: Date | undefined;
24
- caller: Caller | undefined;
25
- /**
26
- * The entity whose route tree holds the edition. RouteRef names no entity, so it always
27
- * resolves inside the vessel's own tree; a route drawn for another vessel is copied first.
28
- * When it differs from this vessel, the responder reads
29
- * `{base}/@v0/{source_entity_id}/pubsub/route/{route_id}/edition/{N}` and republishes it
30
- * unchanged under its own vessel, with the same route_id and edition, before activating it.
31
- * Editions are immutable, so the copy is the same route, not a new one.
32
- */
33
- sourceEntityId: string;
34
- /**
35
- * The edition to sail. Never `latest`: an edition that cannot be resolved is refused, never
36
- * silently replaced.
37
- */
38
- routeRef: RouteRef | undefined;
39
- /**
40
- * The voyage to activate. Absent: the responder mints one. Present and already a voyage of
41
- * this vessel: that voyage is re-pinned to `route_ref` (a reroute).
42
- */
43
- voyageId?: string | undefined;
44
- /** The guidance order to take up once the voyage is active. Absent: TRACK. */
45
- initialOrder?: GuidanceOrder | undefined;
46
- }
47
- export interface LoadRouteResponse {
48
- result: CommandResult;
49
- /**
50
- * Why not, when result is not ACCEPTED: an unresolvable edition, no conn, another voyage the
51
- * responder will not displace. Empty otherwise.
52
- */
53
- detail: string;
54
- /** The voyage now ACTIVE, when result is ACCEPTED. */
55
- voyageId?: string | undefined;
56
- /** The navigation state the order produced. */
57
- state?: NavigationState | undefined;
58
- }
59
- /** Change how the vessel is steered while a voyage is active. */
60
- export interface SetGuidanceOrderRequest {
61
- timestamp: Date | undefined;
62
- caller: Caller | undefined;
63
- order: GuidanceOrder | undefined;
64
- }
65
- export interface SetGuidanceOrderResponse {
66
- /**
67
- * UNSUPPORTED when the responder, or the vehicle behind it, cannot hold the requested frame —
68
- * it never substitutes course for heading or the reverse.
69
- */
70
- result: CommandResult;
71
- detail: string;
72
- state?: NavigationState | undefined;
73
- }
74
- /** Pause, resume, complete or abort the active voyage. */
75
- export interface SetVoyageStatusRequest {
76
- timestamp: Date | undefined;
77
- caller: Caller | undefined;
78
- voyageId: string;
79
- /**
80
- * PAUSED, ACTIVE (resume), COMPLETED or ABORTED. PLANNED is refused: a voyage is planned by
81
- * publishing it, not by asking the process sailing it.
82
- */
83
- status: VoyageStatus;
84
- /** Why, for the voyage's audit trail. Free text. */
85
- reason: string;
86
- }
87
- export interface SetVoyageStatusResponse {
88
- result: CommandResult;
89
- detail: string;
90
- state?: NavigationState | undefined;
91
- }
92
- export interface GetNavigationStateRequest {
93
- }
94
- export declare const Caller: MessageFns<Caller>;
95
- export declare const LoadRouteRequest: MessageFns<LoadRouteRequest>;
96
- export declare const LoadRouteResponse: MessageFns<LoadRouteResponse>;
97
- export declare const SetGuidanceOrderRequest: MessageFns<SetGuidanceOrderRequest>;
98
- export declare const SetGuidanceOrderResponse: MessageFns<SetGuidanceOrderResponse>;
99
- export declare const SetVoyageStatusRequest: MessageFns<SetVoyageStatusRequest>;
100
- export declare const SetVoyageStatusResponse: MessageFns<SetVoyageStatusResponse>;
101
- export declare const GetNavigationStateRequest: MessageFns<GetNavigationStateRequest>;
102
- export type NavigationControlDefinition = typeof NavigationControlDefinition;
103
- export declare const NavigationControlDefinition: {
104
- readonly name: "NavigationControl";
105
- readonly fullName: "keelson.interfaces.navigation_control.NavigationControl";
106
- readonly methods: {
107
- /**
108
- * Make a route edition this vessel's active voyage, copying it from another vessel's tree when
109
- * needed, and take up a guidance order.
110
- */
111
- readonly load_route: {
112
- readonly name: "load_route";
113
- readonly requestType: MessageFns<LoadRouteRequest>;
114
- readonly requestStream: false;
115
- readonly responseType: MessageFns<LoadRouteResponse>;
116
- readonly responseStream: false;
117
- readonly options: {};
118
- };
119
- /** Steer by the track, a course, a heading, or hold; optionally with a speed. */
120
- readonly set_guidance_order: {
121
- readonly name: "set_guidance_order";
122
- readonly requestType: MessageFns<SetGuidanceOrderRequest>;
123
- readonly requestStream: false;
124
- readonly responseType: MessageFns<SetGuidanceOrderResponse>;
125
- readonly responseStream: false;
126
- readonly options: {};
127
- };
128
- /** Pause, resume, complete or abort the active voyage. */
129
- readonly set_voyage_status: {
130
- readonly name: "set_voyage_status";
131
- readonly requestType: MessageFns<SetVoyageStatusRequest>;
132
- readonly requestStream: false;
133
- readonly responseType: MessageFns<SetVoyageStatusResponse>;
134
- readonly responseStream: false;
135
- readonly options: {};
136
- };
137
- /**
138
- * The current NavigationState — the same payload as the `navigation_state` broadcast, for a
139
- * caller that cannot wait for the next one. Needs no authority.
140
- */
141
- readonly get_navigation_state: {
142
- readonly name: "get_navigation_state";
143
- readonly requestType: MessageFns<GetNavigationStateRequest>;
144
- readonly requestStream: false;
145
- readonly responseType: import("./NavigationState").MessageFns<NavigationState>;
146
- readonly responseStream: false;
147
- readonly options: {};
148
- };
149
- };
150
- };
151
- type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
152
- 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 {} ? {
153
- [K in keyof T]?: DeepPartial<T[K]>;
154
- } : Partial<T>;
155
- type KeysOfUnion<T> = T extends T ? keyof T : never;
156
- export type Exact<P, I extends P> = P extends Builtin ? P : P & {
157
- [K in keyof P]: Exact<P[K], I[K]>;
158
- } & {
159
- [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
160
- };
161
- export interface MessageFns<T> {
162
- encode(message: T, writer?: BinaryWriter): BinaryWriter;
163
- decode(input: BinaryReader | Uint8Array, length?: number): T;
164
- fromJSON(object: any): T;
165
- toJSON(message: T): unknown;
166
- create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
167
- fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
168
- }
169
- export {};