@rise-maritime/keelson-js 0.6.0-alpha.232.dev.1 → 0.6.0-alpha.255.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 (37) hide show
  1. package/dist/index.d.ts +8 -8
  2. package/dist/interfaces/Route.d.ts +24 -0
  3. package/dist/interfaces/Route.js +57 -2
  4. package/dist/interfaces/ScenarioControl.d.ts +3 -96
  5. package/dist/interfaces/ScenarioControl.js +37 -394
  6. package/dist/interfaces/VehicleSimulatorControl.d.ts +83 -0
  7. package/dist/interfaces/VehicleSimulatorControl.js +293 -1
  8. package/dist/interfaces/serviceRegistry.d.ts +8 -8
  9. package/dist/payloads/ChecklistEvent.d.ts +178 -0
  10. package/dist/payloads/ChecklistEvent.js +539 -0
  11. package/dist/payloads/ChecklistEvidence.d.ts +79 -0
  12. package/dist/payloads/ChecklistEvidence.js +287 -0
  13. package/dist/payloads/ChecklistPresence.d.ts +68 -0
  14. package/dist/payloads/ChecklistPresence.js +286 -0
  15. package/dist/payloads/ChecklistProcedure.d.ts +81 -0
  16. package/dist/payloads/ChecklistProcedure.js +364 -0
  17. package/dist/payloads/ChecklistState.d.ts +283 -0
  18. package/dist/payloads/ChecklistState.js +1100 -0
  19. package/dist/payloads/EnvelopeExceedance.d.ts +216 -0
  20. package/dist/payloads/EnvelopeExceedance.js +461 -0
  21. package/dist/payloads/Route.d.ts +24 -0
  22. package/dist/payloads/Route.js +57 -2
  23. package/dist/payloads/RouteExecution.d.ts +81 -1
  24. package/dist/payloads/RouteExecution.js +215 -1
  25. package/dist/payloads/ScenarioEvent.d.ts +90 -0
  26. package/dist/payloads/ScenarioEvent.js +294 -0
  27. package/dist/payloads/ScenarioTickAck.d.ts +95 -0
  28. package/dist/payloads/ScenarioTickAck.js +239 -0
  29. package/dist/payloads/index.foxglove.d.ts +1 -1
  30. package/dist/payloads/index.foxglove.js +1 -1
  31. package/dist/payloads/index.google.protobuf.d.ts +1 -1
  32. package/dist/payloads/index.google.protobuf.js +1 -1
  33. package/dist/payloads/index.keelson.d.ts +9 -1
  34. package/dist/payloads/index.keelson.js +9 -1
  35. package/dist/qos.json +13 -1
  36. package/dist/subjects.json +9 -1
  37. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -216,14 +216,6 @@ export declare function getInterfaceDefinition(interfaceAndVersion: string): {
216
216
  readonly name: "ScenarioControl";
217
217
  readonly fullName: "keelson.interfaces.scenario_control.ScenarioControl";
218
218
  readonly methods: {
219
- readonly list: {
220
- readonly name: "list";
221
- readonly requestType: import("./interfaces/ScenarioControl").MessageFns<import("./interfaces/ScenarioControl").ListRequest>;
222
- readonly requestStream: false;
223
- readonly responseType: import("./interfaces/ScenarioControl").MessageFns<import("./interfaces/ScenarioControl").ListResponse>;
224
- readonly responseStream: false;
225
- readonly options: {};
226
- };
227
219
  readonly load: {
228
220
  readonly name: "load";
229
221
  readonly requestType: import("./interfaces/ScenarioControl").MessageFns<import("./interfaces/ScenarioControl").LoadRequest>;
@@ -517,6 +509,14 @@ export declare function getInterfaceDefinition(interfaceAndVersion: string): {
517
509
  readonly responseStream: false;
518
510
  readonly options: {};
519
511
  };
512
+ readonly set_standing_order: {
513
+ readonly name: "set_standing_order";
514
+ readonly requestType: import("./interfaces/VehicleSimulatorControl").MessageFns<import("./interfaces/VehicleSimulatorControl").StandingOrder>;
515
+ readonly requestStream: false;
516
+ readonly responseType: import("./interfaces/VehicleSimulatorControl").MessageFns<import("./interfaces/VehicleSimulatorControl").SetStandingOrderResponse>;
517
+ readonly responseStream: false;
518
+ readonly options: {};
519
+ };
520
520
  };
521
521
  } | {
522
522
  readonly name: "WHEPProxy";
@@ -108,6 +108,30 @@ export declare enum RouteStatus {
108
108
  }
109
109
  export declare function routeStatusFromJSON(object: any): RouteStatus;
110
110
  export declare function routeStatusToJSON(object: RouteStatus): string;
111
+ /**
112
+ * Which side of an operational limit counts as a breach.
113
+ *
114
+ * RouteInfo's own limit block carries both directions — max_wind_gust_mps is
115
+ * breached above, min_visibility_m below — so nothing about a limit's identity
116
+ * says which way it fails. Consumers of an exceedance record need it: "the most
117
+ * extreme value reached" is undefined without it, and deriving the direction
118
+ * from a `max_` / `min_` name prefix is a string match that fails silently the
119
+ * first time a limit is named anything else.
120
+ *
121
+ * Lives here rather than beside either consumer because it is a property of the
122
+ * limit as authored, not of the monitoring. Read by keelson.EnvelopeExceedance
123
+ * and keelson.EnvelopeLimitState.
124
+ */
125
+ export declare enum EnvelopeBound {
126
+ ENVELOPE_BOUND_UNSPECIFIED = 0,
127
+ /** ENVELOPE_BOUND_UPPER - Breached by going ABOVE the limit value (max_wind_gust_mps, max_roll_deg). */
128
+ ENVELOPE_BOUND_UPPER = 1,
129
+ /** ENVELOPE_BOUND_LOWER - Breached by going BELOW it (min_visibility_m, min_speed_knots). */
130
+ ENVELOPE_BOUND_LOWER = 2,
131
+ UNRECOGNIZED = -1
132
+ }
133
+ export declare function envelopeBoundFromJSON(object: any): EnvelopeBound;
134
+ export declare function envelopeBoundToJSON(object: EnvelopeBound): string;
111
135
  /** Required action for an ActionPoint. */
112
136
  export declare enum ActionPointRequiredAction {
113
137
  ACTION_POINT_REQUIRED_ACTION_UNSPECIFIED = 0,
@@ -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.RouteIssue = exports.RouteChallenge = exports.HazardZone = exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = 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.routeStatusToJSON = exports.routeStatusFromJSON = exports.RouteStatus = 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 = void 0;
8
+ exports.ActionPoint = exports.ActionPoints = exports.ScheduleElement = 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.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 = void 0;
10
10
  /* eslint-disable */
11
11
  const wire_1 = require("@bufbuild/protobuf/wire");
12
12
  const Coordinate_1 = require("./Coordinate");
@@ -492,6 +492,61 @@ function routeStatusToJSON(object) {
492
492
  }
493
493
  }
494
494
  exports.routeStatusToJSON = routeStatusToJSON;
495
+ /**
496
+ * Which side of an operational limit counts as a breach.
497
+ *
498
+ * RouteInfo's own limit block carries both directions — max_wind_gust_mps is
499
+ * breached above, min_visibility_m below — so nothing about a limit's identity
500
+ * says which way it fails. Consumers of an exceedance record need it: "the most
501
+ * extreme value reached" is undefined without it, and deriving the direction
502
+ * from a `max_` / `min_` name prefix is a string match that fails silently the
503
+ * first time a limit is named anything else.
504
+ *
505
+ * Lives here rather than beside either consumer because it is a property of the
506
+ * limit as authored, not of the monitoring. Read by keelson.EnvelopeExceedance
507
+ * and keelson.EnvelopeLimitState.
508
+ */
509
+ var EnvelopeBound;
510
+ (function (EnvelopeBound) {
511
+ EnvelopeBound[EnvelopeBound["ENVELOPE_BOUND_UNSPECIFIED"] = 0] = "ENVELOPE_BOUND_UNSPECIFIED";
512
+ /** ENVELOPE_BOUND_UPPER - Breached by going ABOVE the limit value (max_wind_gust_mps, max_roll_deg). */
513
+ EnvelopeBound[EnvelopeBound["ENVELOPE_BOUND_UPPER"] = 1] = "ENVELOPE_BOUND_UPPER";
514
+ /** ENVELOPE_BOUND_LOWER - Breached by going BELOW it (min_visibility_m, min_speed_knots). */
515
+ EnvelopeBound[EnvelopeBound["ENVELOPE_BOUND_LOWER"] = 2] = "ENVELOPE_BOUND_LOWER";
516
+ EnvelopeBound[EnvelopeBound["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
517
+ })(EnvelopeBound || (exports.EnvelopeBound = EnvelopeBound = {}));
518
+ function envelopeBoundFromJSON(object) {
519
+ switch (object) {
520
+ case 0:
521
+ case "ENVELOPE_BOUND_UNSPECIFIED":
522
+ return EnvelopeBound.ENVELOPE_BOUND_UNSPECIFIED;
523
+ case 1:
524
+ case "ENVELOPE_BOUND_UPPER":
525
+ return EnvelopeBound.ENVELOPE_BOUND_UPPER;
526
+ case 2:
527
+ case "ENVELOPE_BOUND_LOWER":
528
+ return EnvelopeBound.ENVELOPE_BOUND_LOWER;
529
+ case -1:
530
+ case "UNRECOGNIZED":
531
+ default:
532
+ return EnvelopeBound.UNRECOGNIZED;
533
+ }
534
+ }
535
+ exports.envelopeBoundFromJSON = envelopeBoundFromJSON;
536
+ function envelopeBoundToJSON(object) {
537
+ switch (object) {
538
+ case EnvelopeBound.ENVELOPE_BOUND_UNSPECIFIED:
539
+ return "ENVELOPE_BOUND_UNSPECIFIED";
540
+ case EnvelopeBound.ENVELOPE_BOUND_UPPER:
541
+ return "ENVELOPE_BOUND_UPPER";
542
+ case EnvelopeBound.ENVELOPE_BOUND_LOWER:
543
+ return "ENVELOPE_BOUND_LOWER";
544
+ case EnvelopeBound.UNRECOGNIZED:
545
+ default:
546
+ return "UNRECOGNIZED";
547
+ }
548
+ }
549
+ exports.envelopeBoundToJSON = envelopeBoundToJSON;
495
550
  /** Required action for an ActionPoint. */
496
551
  var ActionPointRequiredAction;
497
552
  (function (ActionPointRequiredAction) {
@@ -1,74 +1,6 @@
1
1
  import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
2
  import { Empty } from "./google/protobuf/empty";
3
3
  export declare const protobufPackage = "keelson.interfaces.scenario_control";
4
- /**
5
- * One scenario the responder is willing to be asked about. Deliberately
6
- * thin: the fields are the ones an operator needs to *choose* between two
7
- * scenarios, not a description of what a scenario is. What a scenario is
8
- * varies by simulator, and pinning that here would bind every
9
- * implementation to one — the same reason LoadRequest.scenario is opaque.
10
- */
11
- export interface ScenarioInfo {
12
- /**
13
- * Exactly what `load` takes. A listing whose ids are not loadable ids is
14
- * a listing a picker cannot act on.
15
- */
16
- scenarioId: string;
17
- /** One line, from the document. Empty if it carries none. */
18
- description: string;
19
- /**
20
- * Content hash of the scenario as the responder reads it — the same hash
21
- * ScenarioStatus broadcasts, so a picker can tell which of these is the
22
- * running one, and two responders offering the same id can be compared.
23
- */
24
- scenarioHash: string;
25
- /**
26
- * Enough to tell two scenarios apart at a glance. Zero means the
27
- * responder does not know or the scenario does not say — for
28
- * duration_ticks specifically, an open-ended scenario.
29
- */
30
- vesselCount: number;
31
- durationTicks: number;
32
- stepSizeMs: number;
33
- /**
34
- * False when the responder can see this scenario but would refuse to
35
- * load it, with `reason` saying why in the words the failed load would
36
- * have used.
37
- *
38
- * On the wire rather than filtered out, because both alternatives are
39
- * worse. Omitting these rows hides files the operator can see in the
40
- * library and leaves them asking why one is missing; listing them as
41
- * loadable is a lie the picker only discovers by trying. A simulator
42
- * whose scenario language is still growing has these constantly: the
43
- * document parses, and names a construct this build cannot elaborate.
44
- */
45
- loadable: boolean;
46
- reason: string;
47
- }
48
- export interface ListRequest {
49
- /**
50
- * Optional; the responder decides what it means (an id prefix, a glob).
51
- * No filter lists everything the responder is willing to list. Same
52
- * contract as ListCheckpointsRequest.pattern and ListFilesRequest.pattern.
53
- */
54
- pattern: string;
55
- }
56
- export interface ListResponse {
57
- /**
58
- * Where the responder is listing from, for the reason its two siblings
59
- * carry it: an operator choosing between two scenarios with the same id
60
- * needs to know whether they came from the same place.
61
- */
62
- baseDirectory: string;
63
- /** Ordered by scenario_id, so a listing read twice reads the same way. */
64
- scenarios: ScenarioInfo[];
65
- /**
66
- * True when the responder capped the listing. On the wire because a
67
- * listing that quietly stopped short reads as "that is all of them", and
68
- * an operator would go looking for a scenario that is in fact there.
69
- */
70
- truncated: boolean;
71
- }
72
4
  export interface LoadRequest {
73
5
  /**
74
6
  * Identifier of the scenario to load, as the responder understands it —
@@ -97,6 +29,8 @@ export interface SetRateRequest {
97
29
  * individual command can grow a return field later without a breaking
98
30
  * type change and without that field bleeding onto the other commands.
99
31
  */
32
+ export interface LoadResponse {
33
+ }
100
34
  export interface StartResponse {
101
35
  }
102
36
  export interface PauseResponse {
@@ -107,22 +41,6 @@ export interface ResetResponse {
107
41
  }
108
42
  export interface SetRateResponse {
109
43
  }
110
- export interface LoadResponse {
111
- /**
112
- * What was actually loaded, resolved. `scenario` in the request is
113
- * whatever the caller typed; these are the responder's answer to it, and
114
- * the run id is minted by the load itself.
115
- *
116
- * Returned rather than left to the status broadcast for the reason
117
- * StepResponse.tick gives twelve lines below: a caller should not have to
118
- * race a 1 Hz status sample to learn the result of its own call. It also
119
- * makes an ambiguous id visible — a caller that asked for "harbor" and
120
- * got back a hash it did not expect can say so.
121
- */
122
- scenarioId: string;
123
- scenarioHash: string;
124
- runId: string;
125
- }
126
44
  export interface StepResponse {
127
45
  /**
128
46
  * Where the clock came to rest. Returned rather than left to the status
@@ -132,32 +50,21 @@ export interface StepResponse {
132
50
  tick: number;
133
51
  simulationTime: Date | undefined;
134
52
  }
135
- export declare const ScenarioInfo: MessageFns<ScenarioInfo>;
136
- export declare const ListRequest: MessageFns<ListRequest>;
137
- export declare const ListResponse: MessageFns<ListResponse>;
138
53
  export declare const LoadRequest: MessageFns<LoadRequest>;
139
54
  export declare const StepRequest: MessageFns<StepRequest>;
140
55
  export declare const SetRateRequest: MessageFns<SetRateRequest>;
56
+ export declare const LoadResponse: MessageFns<LoadResponse>;
141
57
  export declare const StartResponse: MessageFns<StartResponse>;
142
58
  export declare const PauseResponse: MessageFns<PauseResponse>;
143
59
  export declare const StopResponse: MessageFns<StopResponse>;
144
60
  export declare const ResetResponse: MessageFns<ResetResponse>;
145
61
  export declare const SetRateResponse: MessageFns<SetRateResponse>;
146
- export declare const LoadResponse: MessageFns<LoadResponse>;
147
62
  export declare const StepResponse: MessageFns<StepResponse>;
148
63
  export type ScenarioControlDefinition = typeof ScenarioControlDefinition;
149
64
  export declare const ScenarioControlDefinition: {
150
65
  readonly name: "ScenarioControl";
151
66
  readonly fullName: "keelson.interfaces.scenario_control.ScenarioControl";
152
67
  readonly methods: {
153
- readonly list: {
154
- readonly name: "list";
155
- readonly requestType: MessageFns<ListRequest>;
156
- readonly requestStream: false;
157
- readonly responseType: MessageFns<ListResponse>;
158
- readonly responseStream: false;
159
- readonly options: {};
160
- };
161
68
  readonly load: {
162
69
  readonly name: "load";
163
70
  readonly requestType: MessageFns<LoadRequest>;