@rise-maritime/keelson-js 0.6.0-alpha.282.dev.1 → 0.6.0-alpha.307.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 (40) 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 +80 -1
  11. package/dist/interfaces/Route.js +213 -2
  12. package/dist/interfaces/serviceRegistry.d.ts +33 -33
  13. package/dist/interfaces/serviceRegistry.js +2 -2
  14. package/dist/interfaces.json +1 -1
  15. package/dist/payloads/AdviceDisposition.d.ts +20 -5
  16. package/dist/payloads/AdviceDisposition.js +7 -0
  17. package/dist/payloads/ContainerHost.d.ts +48 -0
  18. package/dist/payloads/ContainerHost.js +341 -1
  19. package/dist/payloads/NavigationAdvice.d.ts +24 -0
  20. package/dist/payloads/NavigationAdvice.js +91 -1
  21. package/dist/payloads/NavigationRisk.d.ts +341 -0
  22. package/dist/payloads/NavigationRisk.js +2530 -0
  23. package/dist/payloads/NavigationState.d.ts +0 -46
  24. package/dist/payloads/NavigationState.js +1 -252
  25. package/dist/payloads/Route.d.ts +81 -1
  26. package/dist/payloads/Route.js +222 -2
  27. package/dist/payloads/index.keelson.d.ts +1 -0
  28. package/dist/payloads/index.keelson.js +1 -0
  29. package/dist/subjects.json +1 -0
  30. package/package.json +1 -1
  31. package/dist/interfaces/NavigationControl.d.ts +0 -169
  32. package/dist/interfaces/NavigationControl.js +0 -806
  33. package/dist/interfaces/NavigationState.d.ts +0 -132
  34. package/dist/interfaces/NavigationState.js +0 -615
  35. package/dist/interfaces/OperationalAuthority.d.ts +0 -217
  36. package/dist/interfaces/OperationalAuthority.js +0 -807
  37. package/dist/interfaces/VesselType.d.ts +0 -133
  38. package/dist/interfaces/VesselType.js +0 -726
  39. package/dist/interfaces/Voyage.d.ts +0 -151
  40. package/dist/interfaces/Voyage.js +0 -855
@@ -5,8 +5,8 @@
5
5
  // protoc v6.30.2
6
6
  // source: Route.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.Schedule = exports.Schedules = exports.Leg = exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
- exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = void 0;
8
+ exports.Waypoint = exports.DefaultWaypoint = exports.Waypoints = exports.RouteInfo = exports.Route = exports.Extensions_Entry_AttributesEntry = exports.Extensions_Entry = exports.Extensions = exports.CircleGeometry = exports.RouteRef = exports.schedule_OriginToJSON = exports.schedule_OriginFromJSON = exports.Schedule_Origin = exports.actionPointRequiredActionToJSON = exports.actionPointRequiredActionFromJSON = exports.ActionPointRequiredAction = exports.envelopeBoundToJSON = exports.envelopeBoundFromJSON = exports.EnvelopeBound = exports.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = exports.routeTopologyToJSON = exports.routeTopologyFromJSON = exports.RouteTopology = exports.xtdCorridorModeToJSON = exports.xtdCorridorModeFromJSON = exports.XtdCorridorMode = exports.geometryTypeToJSON = exports.geometryTypeFromJSON = exports.GeometryType = exports.colregTrafficIntensityToJSON = exports.colregTrafficIntensityFromJSON = exports.ColregTrafficIntensity = exports.colregSituationToJSON = exports.colregSituationFromJSON = exports.ColregSituation = exports.hazardZoneTypeToJSON = exports.hazardZoneTypeFromJSON = exports.HazardZoneType = exports.routeChallengeTypeToJSON = exports.routeChallengeTypeFromJSON = exports.RouteChallengeType = exports.operationalContextToJSON = exports.operationalContextFromJSON = exports.OperationalContext = exports.autonomyLevelToJSON = exports.autonomyLevelFromJSON = exports.AutonomyLevel = exports.protobufPackage = void 0;
9
+ exports.RouteStatusUpdate = exports.RouteSignature = exports.RouteSignatures = exports.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = exports.Schedule = exports.Schedules = exports.XtdBoundaryPoint = exports.Leg = void 0;
10
10
  /* eslint-disable */
11
11
  const wire_1 = require("@bufbuild/protobuf/wire");
12
12
  const Coordinate_1 = require("./Coordinate");
@@ -432,6 +432,65 @@ function geometryTypeToJSON(object) {
432
432
  }
433
433
  }
434
434
  exports.geometryTypeToJSON = geometryTypeToJSON;
435
+ /**
436
+ * How a leg's XTD corridor is shaped. UNSPECIFIED MUST be read as FIXED:
437
+ * every leg published before this field existed is a fixed-width corridor, and
438
+ * reading it any other way would change routes nobody edited.
439
+ */
440
+ var XtdCorridorMode;
441
+ (function (XtdCorridorMode) {
442
+ XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_UNSPECIFIED"] = 0] = "XTD_CORRIDOR_MODE_UNSPECIFIED";
443
+ /**
444
+ * XTD_CORRIDOR_MODE_FIXED - Fixed width: parallel lines at xtd_port_m / xtd_starboard_m either side of
445
+ * track.
446
+ */
447
+ XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_FIXED"] = 1] = "XTD_CORRIDOR_MODE_FIXED";
448
+ /**
449
+ * XTD_CORRIDOR_MODE_VARIABLE - Variable width: a boundary drawn by the planner (Leg.xtd_port_boundary /
450
+ * xtd_starboard_boundary), e.g. a corridor that narrows past a shoal.
451
+ * The metre fields (xtd_port_m / xtd_starboard_m and the monitoring pair)
452
+ * MUST NOT exceed the closest approach to track of that side's drawn
453
+ * boundary: they are the INSCRIBED fixed corridor. A monitor that does not
454
+ * evaluate the boundary then alarms early on a wide stretch and never late at
455
+ * the narrow one, which is the direction an XTD limit has to fail. Such a
456
+ * monitor SHOULD report the leg as monitored at reduced fidelity, which is
457
+ * why its alarm may come early.
458
+ */
459
+ XtdCorridorMode[XtdCorridorMode["XTD_CORRIDOR_MODE_VARIABLE"] = 2] = "XTD_CORRIDOR_MODE_VARIABLE";
460
+ XtdCorridorMode[XtdCorridorMode["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
461
+ })(XtdCorridorMode || (exports.XtdCorridorMode = XtdCorridorMode = {}));
462
+ function xtdCorridorModeFromJSON(object) {
463
+ switch (object) {
464
+ case 0:
465
+ case "XTD_CORRIDOR_MODE_UNSPECIFIED":
466
+ return XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED;
467
+ case 1:
468
+ case "XTD_CORRIDOR_MODE_FIXED":
469
+ return XtdCorridorMode.XTD_CORRIDOR_MODE_FIXED;
470
+ case 2:
471
+ case "XTD_CORRIDOR_MODE_VARIABLE":
472
+ return XtdCorridorMode.XTD_CORRIDOR_MODE_VARIABLE;
473
+ case -1:
474
+ case "UNRECOGNIZED":
475
+ default:
476
+ return XtdCorridorMode.UNRECOGNIZED;
477
+ }
478
+ }
479
+ exports.xtdCorridorModeFromJSON = xtdCorridorModeFromJSON;
480
+ function xtdCorridorModeToJSON(object) {
481
+ switch (object) {
482
+ case XtdCorridorMode.XTD_CORRIDOR_MODE_UNSPECIFIED:
483
+ return "XTD_CORRIDOR_MODE_UNSPECIFIED";
484
+ case XtdCorridorMode.XTD_CORRIDOR_MODE_FIXED:
485
+ return "XTD_CORRIDOR_MODE_FIXED";
486
+ case XtdCorridorMode.XTD_CORRIDOR_MODE_VARIABLE:
487
+ return "XTD_CORRIDOR_MODE_VARIABLE";
488
+ case XtdCorridorMode.UNRECOGNIZED:
489
+ default:
490
+ return "UNRECOGNIZED";
491
+ }
492
+ }
493
+ exports.xtdCorridorModeToJSON = xtdCorridorModeToJSON;
435
494
  /**
436
495
  * Whether a route's waypoint list closes back on itself. RTZ 1.2 has no such
437
496
  * concept, so producers either repeated the first waypoint (breaking id
@@ -2219,6 +2278,9 @@ function createBaseLeg() {
2219
2278
  xtdStarboardM: undefined,
2220
2279
  xtdMonitoringPortM: undefined,
2221
2280
  xtdMonitoringStarboardM: undefined,
2281
+ xtdCorridorMode: 0,
2282
+ xtdPortBoundary: [],
2283
+ xtdStarboardBoundary: [],
2222
2284
  safetyContourM: undefined,
2223
2285
  safetyDepthM: undefined,
2224
2286
  ukcStaticM: undefined,
@@ -2256,6 +2318,15 @@ exports.Leg = {
2256
2318
  if (message.xtdMonitoringStarboardM !== undefined) {
2257
2319
  writer.uint32(37).float(message.xtdMonitoringStarboardM);
2258
2320
  }
2321
+ if (message.xtdCorridorMode !== 0) {
2322
+ writer.uint32(40).int32(message.xtdCorridorMode);
2323
+ }
2324
+ for (const v of message.xtdPortBoundary) {
2325
+ exports.XtdBoundaryPoint.encode(v, writer.uint32(50).fork()).join();
2326
+ }
2327
+ for (const v of message.xtdStarboardBoundary) {
2328
+ exports.XtdBoundaryPoint.encode(v, writer.uint32(58).fork()).join();
2329
+ }
2259
2330
  if (message.safetyContourM !== undefined) {
2260
2331
  writer.uint32(85).float(message.safetyContourM);
2261
2332
  }
@@ -2356,6 +2427,27 @@ exports.Leg = {
2356
2427
  message.xtdMonitoringStarboardM = reader.float();
2357
2428
  continue;
2358
2429
  }
2430
+ case 5: {
2431
+ if (tag !== 40) {
2432
+ break;
2433
+ }
2434
+ message.xtdCorridorMode = reader.int32();
2435
+ continue;
2436
+ }
2437
+ case 6: {
2438
+ if (tag !== 50) {
2439
+ break;
2440
+ }
2441
+ message.xtdPortBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2442
+ continue;
2443
+ }
2444
+ case 7: {
2445
+ if (tag !== 58) {
2446
+ break;
2447
+ }
2448
+ message.xtdStarboardBoundary.push(exports.XtdBoundaryPoint.decode(reader, reader.uint32()));
2449
+ continue;
2450
+ }
2359
2451
  case 10: {
2360
2452
  if (tag !== 85) {
2361
2453
  break;
@@ -2519,6 +2611,13 @@ exports.Leg = {
2519
2611
  xtdMonitoringStarboardM: isSet(object.xtdMonitoringStarboardM)
2520
2612
  ? globalThis.Number(object.xtdMonitoringStarboardM)
2521
2613
  : undefined,
2614
+ xtdCorridorMode: isSet(object.xtdCorridorMode) ? xtdCorridorModeFromJSON(object.xtdCorridorMode) : 0,
2615
+ xtdPortBoundary: globalThis.Array.isArray(object?.xtdPortBoundary)
2616
+ ? object.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2617
+ : [],
2618
+ xtdStarboardBoundary: globalThis.Array.isArray(object?.xtdStarboardBoundary)
2619
+ ? object.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.fromJSON(e))
2620
+ : [],
2522
2621
  safetyContourM: isSet(object.safetyContourM) ? globalThis.Number(object.safetyContourM) : undefined,
2523
2622
  safetyDepthM: isSet(object.safetyDepthM) ? globalThis.Number(object.safetyDepthM) : undefined,
2524
2623
  ukcStaticM: isSet(object.ukcStaticM) ? globalThis.Number(object.ukcStaticM) : undefined,
@@ -2558,6 +2657,15 @@ exports.Leg = {
2558
2657
  if (message.xtdMonitoringStarboardM !== undefined) {
2559
2658
  obj.xtdMonitoringStarboardM = message.xtdMonitoringStarboardM;
2560
2659
  }
2660
+ if (message.xtdCorridorMode !== 0) {
2661
+ obj.xtdCorridorMode = xtdCorridorModeToJSON(message.xtdCorridorMode);
2662
+ }
2663
+ if (message.xtdPortBoundary?.length) {
2664
+ obj.xtdPortBoundary = message.xtdPortBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2665
+ }
2666
+ if (message.xtdStarboardBoundary?.length) {
2667
+ obj.xtdStarboardBoundary = message.xtdStarboardBoundary.map((e) => exports.XtdBoundaryPoint.toJSON(e));
2668
+ }
2561
2669
  if (message.safetyContourM !== undefined) {
2562
2670
  obj.safetyContourM = message.safetyContourM;
2563
2671
  }
@@ -2632,6 +2740,9 @@ exports.Leg = {
2632
2740
  message.xtdStarboardM = object.xtdStarboardM ?? undefined;
2633
2741
  message.xtdMonitoringPortM = object.xtdMonitoringPortM ?? undefined;
2634
2742
  message.xtdMonitoringStarboardM = object.xtdMonitoringStarboardM ?? undefined;
2743
+ message.xtdCorridorMode = object.xtdCorridorMode ?? 0;
2744
+ message.xtdPortBoundary = object.xtdPortBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2745
+ message.xtdStarboardBoundary = object.xtdStarboardBoundary?.map((e) => exports.XtdBoundaryPoint.fromPartial(e)) || [];
2635
2746
  message.safetyContourM = object.safetyContourM ?? undefined;
2636
2747
  message.safetyDepthM = object.safetyDepthM ?? undefined;
2637
2748
  message.ukcStaticM = object.ukcStaticM ?? undefined;
@@ -2658,6 +2769,106 @@ exports.Leg = {
2658
2769
  return message;
2659
2770
  },
2660
2771
  };
2772
+ function createBaseXtdBoundaryPoint() {
2773
+ return { position: undefined, alongTrackFraction: undefined, offsetM: undefined, inTurn: false };
2774
+ }
2775
+ exports.XtdBoundaryPoint = {
2776
+ encode(message, writer = new wire_1.BinaryWriter()) {
2777
+ if (message.position !== undefined) {
2778
+ Coordinate_1.Coordinate.encode(message.position, writer.uint32(10).fork()).join();
2779
+ }
2780
+ if (message.alongTrackFraction !== undefined) {
2781
+ writer.uint32(17).double(message.alongTrackFraction);
2782
+ }
2783
+ if (message.offsetM !== undefined) {
2784
+ writer.uint32(29).float(message.offsetM);
2785
+ }
2786
+ if (message.inTurn !== false) {
2787
+ writer.uint32(32).bool(message.inTurn);
2788
+ }
2789
+ return writer;
2790
+ },
2791
+ decode(input, length) {
2792
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
2793
+ let end = length === undefined ? reader.len : reader.pos + length;
2794
+ const message = createBaseXtdBoundaryPoint();
2795
+ while (reader.pos < end) {
2796
+ const tag = reader.uint32();
2797
+ switch (tag >>> 3) {
2798
+ case 1: {
2799
+ if (tag !== 10) {
2800
+ break;
2801
+ }
2802
+ message.position = Coordinate_1.Coordinate.decode(reader, reader.uint32());
2803
+ continue;
2804
+ }
2805
+ case 2: {
2806
+ if (tag !== 17) {
2807
+ break;
2808
+ }
2809
+ message.alongTrackFraction = reader.double();
2810
+ continue;
2811
+ }
2812
+ case 3: {
2813
+ if (tag !== 29) {
2814
+ break;
2815
+ }
2816
+ message.offsetM = reader.float();
2817
+ continue;
2818
+ }
2819
+ case 4: {
2820
+ if (tag !== 32) {
2821
+ break;
2822
+ }
2823
+ message.inTurn = reader.bool();
2824
+ continue;
2825
+ }
2826
+ }
2827
+ if ((tag & 7) === 4 || tag === 0) {
2828
+ break;
2829
+ }
2830
+ reader.skip(tag & 7);
2831
+ }
2832
+ return message;
2833
+ },
2834
+ fromJSON(object) {
2835
+ return {
2836
+ position: isSet(object.position) ? Coordinate_1.Coordinate.fromJSON(object.position) : undefined,
2837
+ alongTrackFraction: isSet(object.alongTrackFraction) ? globalThis.Number(object.alongTrackFraction) : undefined,
2838
+ offsetM: isSet(object.offsetM) ? globalThis.Number(object.offsetM) : undefined,
2839
+ inTurn: isSet(object.inTurn) ? globalThis.Boolean(object.inTurn) : false,
2840
+ };
2841
+ },
2842
+ toJSON(message) {
2843
+ const obj = {};
2844
+ if (message.position !== undefined) {
2845
+ obj.position = Coordinate_1.Coordinate.toJSON(message.position);
2846
+ }
2847
+ if (message.alongTrackFraction !== undefined) {
2848
+ obj.alongTrackFraction = message.alongTrackFraction;
2849
+ }
2850
+ if (message.offsetM !== undefined) {
2851
+ obj.offsetM = message.offsetM;
2852
+ }
2853
+ if (message.inTurn !== false) {
2854
+ obj.inTurn = message.inTurn;
2855
+ }
2856
+ return obj;
2857
+ },
2858
+ create(base) {
2859
+ return exports.XtdBoundaryPoint.fromPartial(base ?? {});
2860
+ },
2861
+ fromPartial(object) {
2862
+ const message = createBaseXtdBoundaryPoint();
2863
+ message.position = (object.position !== undefined && object.position !== null)
2864
+ ? Coordinate_1.Coordinate.fromPartial(object.position)
2865
+ : undefined;
2866
+ message.alongTrackFraction = object.alongTrackFraction ?? undefined;
2867
+ message.offsetM = object.offsetM ?? undefined;
2868
+ message.inTurn = object.inTurn ?? false;
2869
+ return message;
2870
+ },
2871
+ };
2661
2872
  function createBaseSchedules() {
2662
2873
  return { schedule: [], extensions: undefined };
2663
2874
  }
@@ -111,53 +111,45 @@ export declare const serviceDefinitions: {
111
111
  };
112
112
  };
113
113
  };
114
- readonly "navigation_control/v1": {
115
- readonly name: "NavigationControl";
116
- readonly fullName: "keelson.interfaces.navigation_control.NavigationControl";
114
+ readonly "network_ping_pong/v1": {
115
+ readonly name: "NetworkPingPong";
116
+ readonly fullName: "keelson.interfaces.network_ping_pong.NetworkPingPong";
117
117
  readonly methods: {
118
- readonly load_route: {
119
- readonly name: "load_route";
120
- readonly requestType: import("./NavigationControl").MessageFns<import("./NavigationControl").LoadRouteRequest>;
121
- readonly requestStream: false;
122
- readonly responseType: import("./NavigationControl").MessageFns<import("./NavigationControl").LoadRouteResponse>;
123
- readonly responseStream: false;
124
- readonly options: {};
125
- };
126
- readonly set_guidance_order: {
127
- readonly name: "set_guidance_order";
128
- readonly requestType: import("./NavigationControl").MessageFns<import("./NavigationControl").SetGuidanceOrderRequest>;
118
+ readonly ping_network: {
119
+ readonly name: "ping_network";
120
+ readonly requestType: import("./NetworkPingPong").MessageFns<import("./NetworkPingPong").NetworkPing>;
129
121
  readonly requestStream: false;
130
- readonly responseType: import("./NavigationControl").MessageFns<import("./NavigationControl").SetGuidanceOrderResponse>;
122
+ readonly responseType: import("./NetworkPingPong").MessageFns<import("./NetworkPingPong").NetworkPong>;
131
123
  readonly responseStream: false;
132
124
  readonly options: {};
133
125
  };
134
- readonly set_voyage_status: {
135
- readonly name: "set_voyage_status";
136
- readonly requestType: import("./NavigationControl").MessageFns<import("./NavigationControl").SetVoyageStatusRequest>;
126
+ };
127
+ };
128
+ readonly "navigation_risk_control/v1": {
129
+ readonly name: "NavigationRiskControl";
130
+ readonly fullName: "keelson.interfaces.navigation_risk_control.NavigationRiskControl";
131
+ readonly methods: {
132
+ readonly list_assessments: {
133
+ readonly name: "list_assessments";
134
+ readonly requestType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").ListAssessmentsRequest>;
137
135
  readonly requestStream: false;
138
- readonly responseType: import("./NavigationControl").MessageFns<import("./NavigationControl").SetVoyageStatusResponse>;
136
+ readonly responseType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").ListAssessmentsResponse>;
139
137
  readonly responseStream: false;
140
138
  readonly options: {};
141
139
  };
142
- readonly get_navigation_state: {
143
- readonly name: "get_navigation_state";
144
- readonly requestType: import("./NavigationControl").MessageFns<import("./NavigationControl").GetNavigationStateRequest>;
140
+ readonly start_assessment: {
141
+ readonly name: "start_assessment";
142
+ readonly requestType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").StartAssessmentRequest>;
145
143
  readonly requestStream: false;
146
- readonly responseType: import("./NavigationState").MessageFns<import("./NavigationState").NavigationState>;
144
+ readonly responseType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").StartAssessmentResponse>;
147
145
  readonly responseStream: false;
148
146
  readonly options: {};
149
147
  };
150
- };
151
- };
152
- readonly "network_ping_pong/v1": {
153
- readonly name: "NetworkPingPong";
154
- readonly fullName: "keelson.interfaces.network_ping_pong.NetworkPingPong";
155
- readonly methods: {
156
- readonly ping_network: {
157
- readonly name: "ping_network";
158
- readonly requestType: import("./NetworkPingPong").MessageFns<import("./NetworkPingPong").NetworkPing>;
148
+ readonly stop_assessment: {
149
+ readonly name: "stop_assessment";
150
+ readonly requestType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").StopAssessmentRequest>;
159
151
  readonly requestStream: false;
160
- readonly responseType: import("./NetworkPingPong").MessageFns<import("./NetworkPingPong").NetworkPong>;
152
+ readonly responseType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").StopAssessmentResponse>;
161
153
  readonly responseStream: false;
162
154
  readonly options: {};
163
155
  };
@@ -175,6 +167,14 @@ export declare const serviceDefinitions: {
175
167
  readonly responseStream: false;
176
168
  readonly options: {};
177
169
  };
170
+ readonly describe_file: {
171
+ readonly name: "describe_file";
172
+ readonly requestType: import("./ReplayControl").MessageFns<import("./ReplayControl").DescribeFileRequest>;
173
+ readonly requestStream: false;
174
+ readonly responseType: import("./ReplayControl").MessageFns<import("./ReplayControl").DescribeFileResponse>;
175
+ readonly responseStream: false;
176
+ readonly options: {};
177
+ };
178
178
  readonly load_file: {
179
179
  readonly name: "load_file";
180
180
  readonly requestType: import("./ReplayControl").MessageFns<import("./ReplayControl").LoadFileRequest>;
@@ -6,8 +6,8 @@ const AlarmAck_1 = require("./AlarmAck");
6
6
  const Configurable_1 = require("./Configurable");
7
7
  const ContainerControl_1 = require("./ContainerControl");
8
8
  const MavlinkCommand_1 = require("./MavlinkCommand");
9
- const NavigationControl_1 = require("./NavigationControl");
10
9
  const NetworkPingPong_1 = require("./NetworkPingPong");
10
+ const NavigationRiskControl_1 = require("./NavigationRiskControl");
11
11
  const ReplayControl_1 = require("./ReplayControl");
12
12
  const RoutePlanner_1 = require("./RoutePlanner");
13
13
  const ScenarioCheckpoint_1 = require("./ScenarioCheckpoint");
@@ -27,8 +27,8 @@ exports.serviceDefinitions = {
27
27
  "configurable/v1": Configurable_1.ConfigurableDefinition,
28
28
  "container_control/v1": ContainerControl_1.ContainerControlDefinition,
29
29
  "mavlink_command/v1": MavlinkCommand_1.MavlinkCommandDefinition,
30
- "navigation_control/v1": NavigationControl_1.NavigationControlDefinition,
31
30
  "network_ping_pong/v1": NetworkPingPong_1.NetworkPingPongDefinition,
31
+ "navigation_risk_control/v1": NavigationRiskControl_1.NavigationRiskControlDefinition,
32
32
  "replay_control/v1": ReplayControl_1.ReplayControlDefinition,
33
33
  "route_planner/v1": RoutePlanner_1.RoutePlannerDefinition,
34
34
  "scenario_checkpoint/v1": ScenarioCheckpoint_1.ScenarioCheckpointDefinition,
@@ -3,8 +3,8 @@
3
3
  "configurable/v1": "keelson.interfaces.configurable.Configurable",
4
4
  "container_control/v1": "keelson.interfaces.container_control.ContainerControl",
5
5
  "mavlink_command/v1": "keelson.interfaces.mavlink_command.MavlinkCommand",
6
- "navigation_control/v1": "keelson.interfaces.navigation_control.NavigationControl",
7
6
  "network_ping_pong/v1": "keelson.interfaces.network_ping_pong.NetworkPingPong",
7
+ "navigation_risk_control/v1": "keelson.interfaces.navigation_risk_control.NavigationRiskControl",
8
8
  "replay_control/v1": "keelson.interfaces.replay_control.ReplayControl",
9
9
  "route_planner/v1": "keelson.interfaces.route_planner.RoutePlanner",
10
10
  "scenario_checkpoint/v1": "keelson.interfaces.scenario_checkpoint.ScenarioCheckpoint",
@@ -1,10 +1,14 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
2
  /**
3
- * What happened to one NavigationAdvice, and who decided.
3
+ * The decision on one NavigationAdvice, and who made it.
4
4
  *
5
- * ACCEPTED and REJECTED come from whoever holds the decision for the function (an operator at a
6
- * station, or a conduct service under a grant). SUPERSEDED and EXPIRED come from the advisor
7
- * itself. Only ACCEPTED licenses acting, and only within the advice's validity window.
5
+ * Written ONLY by whoever holds the decision for the function (an operator at a station, or a
6
+ * conduct service under a grant): ACCEPTED or REJECTED. Only ACCEPTED licenses acting, and only
7
+ * within the advice's validity window.
8
+ *
9
+ * The advisor does not write this slot. It retires its own advice on NavigationAdvice
10
+ * (retired_at, retirement), because a slot with two writer roles keeps whichever wrote last, and
11
+ * the advisor's EXPIRED replaced the operator's ACCEPTED in storage (keelson#283).
8
12
  */
9
13
  export interface AdviceDisposition {
10
14
  $type: "keelson.AdviceDisposition";
@@ -17,7 +21,11 @@ export interface AdviceDisposition {
17
21
  * changed_by and acknowledged_by elsewhere.
18
22
  */
19
23
  decidedBy: string;
20
- /** For SUPERSEDED: the advice that replaced it. */
24
+ /**
25
+ * Deprecated with STATE_SUPERSEDED (keelson#283): NavigationAdvice.superseded_by.
26
+ *
27
+ * @deprecated
28
+ */
21
29
  supersededBy?: string | undefined;
22
30
  /** Free text. Consumers MUST NOT parse it. */
23
31
  reason: string;
@@ -26,7 +34,14 @@ export declare enum AdviceDisposition_State {
26
34
  STATE_UNSPECIFIED = 0,
27
35
  STATE_ACCEPTED = 1,
28
36
  STATE_REJECTED = 2,
37
+ /**
38
+ * STATE_SUPERSEDED - Deprecated (keelson#283): retirement is NavigationAdvice.retirement. Kept so records stored
39
+ * by 0.6.0-pre.18 producers still decode; never published, and a consumer ignores them.
40
+ *
41
+ * @deprecated
42
+ */
29
43
  STATE_SUPERSEDED = 3,
44
+ /** @deprecated */
30
45
  STATE_EXPIRED = 4,
31
46
  UNRECOGNIZED = -1
32
47
  }
@@ -15,7 +15,14 @@ var AdviceDisposition_State;
15
15
  AdviceDisposition_State[AdviceDisposition_State["STATE_UNSPECIFIED"] = 0] = "STATE_UNSPECIFIED";
16
16
  AdviceDisposition_State[AdviceDisposition_State["STATE_ACCEPTED"] = 1] = "STATE_ACCEPTED";
17
17
  AdviceDisposition_State[AdviceDisposition_State["STATE_REJECTED"] = 2] = "STATE_REJECTED";
18
+ /**
19
+ * STATE_SUPERSEDED - Deprecated (keelson#283): retirement is NavigationAdvice.retirement. Kept so records stored
20
+ * by 0.6.0-pre.18 producers still decode; never published, and a consumer ignores them.
21
+ *
22
+ * @deprecated
23
+ */
18
24
  AdviceDisposition_State[AdviceDisposition_State["STATE_SUPERSEDED"] = 3] = "STATE_SUPERSEDED";
25
+ /** @deprecated */
19
26
  AdviceDisposition_State[AdviceDisposition_State["STATE_EXPIRED"] = 4] = "STATE_EXPIRED";
20
27
  AdviceDisposition_State[AdviceDisposition_State["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
21
28
  })(AdviceDisposition_State || (exports.AdviceDisposition_State = AdviceDisposition_State = {}));
@@ -62,6 +62,48 @@ export declare enum ContainerStatusTrigger {
62
62
  }
63
63
  export declare function containerStatusTriggerFromJSON(object: any): ContainerStatusTrigger;
64
64
  export declare function containerStatusTriggerToJSON(object: ContainerStatusTrigger): string;
65
+ /**
66
+ * A published port. Both halves are present because they answer different
67
+ * questions: container_port is what the process inside bound, host_port is what
68
+ * anything outside can reach.
69
+ */
70
+ export interface ContainerPortBinding {
71
+ $type: "keelson.ContainerPortBinding";
72
+ containerPort: number;
73
+ /** "tcp" or "udp" as the runtime spells it. */
74
+ protocol: string;
75
+ /**
76
+ * The host interface the binding is on, as the runtime reports it (Docker
77
+ * says "0.0.0.0" or "::" for every interface).
78
+ */
79
+ hostIp: string;
80
+ /** 0 for a port exposed but not published. */
81
+ hostPort: number;
82
+ }
83
+ /**
84
+ * One network the container is attached to.
85
+ *
86
+ * A container on the HOST network is attached to no named network at all, which
87
+ * is why an empty list is a meaningful answer rather than a missing one -- the
88
+ * same fact ContainerResourceUsage expresses by omitting its network counters.
89
+ */
90
+ export interface ContainerNetworkAttachment {
91
+ $type: "keelson.ContainerNetworkAttachment";
92
+ name: string;
93
+ /** Empty when the runtime assigned none (host networking, or not yet started). */
94
+ ipAddress: string;
95
+ aliases: string[];
96
+ }
97
+ /** One mount into the container's filesystem. */
98
+ export interface ContainerMount {
99
+ $type: "keelson.ContainerMount";
100
+ /** "bind", "volume" or "tmpfs" as the runtime spells it. */
101
+ type: string;
102
+ /** The host path, or the volume name for a named volume. */
103
+ source: string;
104
+ destination: string;
105
+ readOnly: boolean;
106
+ }
65
107
  export interface ContainerInfo {
66
108
  $type: "keelson.ContainerInfo";
67
109
  /**
@@ -122,6 +164,9 @@ export interface ContainerInfo {
122
164
  * not explicitly ask otherwise gets.
123
165
  */
124
166
  removable: boolean;
167
+ ports: ContainerPortBinding[];
168
+ networks: ContainerNetworkAttachment[];
169
+ mounts: ContainerMount[];
125
170
  }
126
171
  /**
127
172
  * What `list` answers, published continuously instead of on request.
@@ -381,6 +426,9 @@ export interface ContainerHostStats {
381
426
  */
382
427
  sequence: number;
383
428
  }
429
+ export declare const ContainerPortBinding: MessageFns<ContainerPortBinding, "keelson.ContainerPortBinding">;
430
+ export declare const ContainerNetworkAttachment: MessageFns<ContainerNetworkAttachment, "keelson.ContainerNetworkAttachment">;
431
+ export declare const ContainerMount: MessageFns<ContainerMount, "keelson.ContainerMount">;
384
432
  export declare const ContainerInfo: MessageFns<ContainerInfo, "keelson.ContainerInfo">;
385
433
  export declare const ContainerHostStatus: MessageFns<ContainerHostStatus, "keelson.ContainerHostStatus">;
386
434
  export declare const ContainerResourceUsage: MessageFns<ContainerResourceUsage, "keelson.ContainerResourceUsage">;