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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/index.d.ts +524 -1
  2. package/dist/index.js +114 -5
  3. package/dist/index.test.js +57 -0
  4. package/dist/interfaces/AlarmAck.d.ts +62 -0
  5. package/dist/interfaces/AlarmAck.js +218 -0
  6. package/dist/interfaces/Configurable.d.ts +24 -18
  7. package/dist/interfaces/Configurable.js +24 -22
  8. package/dist/interfaces/Coordinate.d.ts +38 -0
  9. package/dist/interfaces/Coordinate.js +82 -0
  10. package/dist/interfaces/ErrorResponse.d.ts +1 -1
  11. package/dist/interfaces/ErrorResponse.js +1 -1
  12. package/dist/interfaces/MavlinkCommand.d.ts +24 -18
  13. package/dist/interfaces/MavlinkCommand.js +24 -22
  14. package/dist/interfaces/Mission.d.ts +128 -0
  15. package/dist/interfaces/Mission.js +800 -0
  16. package/dist/interfaces/NetworkPingPong.d.ts +16 -16
  17. package/dist/interfaces/NetworkPingPong.js +16 -16
  18. package/dist/interfaces/ReplayControl.d.ts +72 -30
  19. package/dist/interfaces/ReplayControl.js +72 -58
  20. package/dist/interfaces/Route.d.ts +627 -0
  21. package/dist/interfaces/Route.js +4148 -0
  22. package/dist/interfaces/RoutePlanner.d.ts +152 -0
  23. package/dist/interfaces/RoutePlanner.js +268 -0
  24. package/dist/interfaces/ScenarioCheckpoint.d.ts +154 -0
  25. package/dist/interfaces/ScenarioCheckpoint.js +694 -0
  26. package/dist/interfaces/ScenarioControl.d.ts +144 -0
  27. package/dist/interfaces/ScenarioControl.js +552 -0
  28. package/dist/interfaces/Severity.d.ts +22 -0
  29. package/dist/interfaces/Severity.js +72 -0
  30. package/dist/interfaces/SimulationControl.d.ts +69 -0
  31. package/dist/interfaces/SimulationControl.js +153 -0
  32. package/dist/interfaces/Subscriber.d.ts +24 -18
  33. package/dist/interfaces/Subscriber.js +24 -22
  34. package/dist/interfaces/VehicleCommon.d.ts +1 -32
  35. package/dist/interfaces/VehicleCommon.js +2 -74
  36. package/dist/interfaces/VehicleControl.d.ts +34 -28
  37. package/dist/interfaces/VehicleControl.js +34 -22
  38. package/dist/interfaces/VehicleGeofence.d.ts +26 -19
  39. package/dist/interfaces/VehicleGeofence.js +40 -37
  40. package/dist/interfaces/VehicleLifecycle.d.ts +32 -20
  41. package/dist/interfaces/VehicleLifecycle.js +32 -28
  42. package/dist/interfaces/VehicleMission.d.ts +42 -97
  43. package/dist/interfaces/VehicleMission.js +41 -696
  44. package/dist/interfaces/VehicleNavigation.d.ts +30 -24
  45. package/dist/interfaces/VehicleNavigation.js +30 -22
  46. package/dist/interfaces/VehicleParam.d.ts +48 -24
  47. package/dist/interfaces/VehicleParam.js +48 -40
  48. package/dist/interfaces/VehicleSimulatorControl.d.ts +57 -0
  49. package/dist/interfaces/VehicleSimulatorControl.js +155 -0
  50. package/dist/interfaces/WHEPProxy.d.ts +16 -16
  51. package/dist/interfaces/WHEPProxy.js +16 -16
  52. package/dist/interfaces/foxglove/GeoJSON.d.ts +27 -0
  53. package/dist/interfaces/foxglove/GeoJSON.js +65 -0
  54. package/dist/interfaces/foxglove/LocationFix.d.ts +49 -0
  55. package/dist/interfaces/foxglove/LocationFix.js +246 -0
  56. package/dist/interfaces/google/protobuf/any.d.ts +144 -0
  57. package/dist/interfaces/google/protobuf/any.js +107 -0
  58. package/dist/interfaces/google/protobuf/duration.d.ts +99 -0
  59. package/dist/interfaces/google/protobuf/duration.js +92 -0
  60. package/dist/interfaces/serviceRegistry.d.ts +520 -0
  61. package/dist/interfaces/serviceRegistry.js +40 -0
  62. package/dist/interfaces.json +19 -0
  63. package/dist/payloads/Alarm.d.ts +7 -12
  64. package/dist/payloads/Alarm.js +4 -54
  65. package/dist/payloads/CommandAuthority.d.ts +82 -0
  66. package/dist/payloads/CommandAuthority.js +364 -0
  67. package/dist/payloads/Coordinate.d.ts +39 -0
  68. package/dist/payloads/Coordinate.js +85 -0
  69. package/dist/payloads/EntityHealth.d.ts +9 -0
  70. package/dist/payloads/EntityHealth.js +14 -0
  71. package/dist/payloads/Mission.d.ts +137 -0
  72. package/dist/payloads/Mission.js +826 -0
  73. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  74. package/dist/payloads/OperationalAuthority.js +525 -6
  75. package/dist/payloads/Route.d.ts +649 -0
  76. package/dist/payloads/Route.js +4257 -0
  77. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  78. package/dist/payloads/RouteChangeEvent.js +223 -0
  79. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  80. package/dist/payloads/RouteEditAuthority.js +380 -0
  81. package/dist/payloads/RouteExecution.d.ts +64 -0
  82. package/dist/payloads/RouteExecution.js +310 -0
  83. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  84. package/dist/payloads/ScenarioStatus.js +654 -0
  85. package/dist/payloads/Severity.d.ts +13 -6
  86. package/dist/payloads/Severity.js +30 -18
  87. package/dist/payloads/SimulationStatus.d.ts +3 -4
  88. package/dist/payloads/SimulationStatus.js +12 -18
  89. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  90. package/dist/payloads/TestObjectStatus.js +580 -0
  91. package/dist/payloads/VesselType.d.ts +2 -1
  92. package/dist/payloads/VesselType.js +1 -1
  93. package/dist/payloads/Voyage.d.ts +154 -0
  94. package/dist/payloads/Voyage.js +866 -0
  95. package/dist/payloads/WarrantRecord.d.ts +168 -0
  96. package/dist/payloads/WarrantRecord.js +781 -0
  97. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  98. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  99. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  100. package/dist/payloads/google/protobuf/any.js +110 -0
  101. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  102. package/dist/payloads/google/protobuf/empty.js +50 -0
  103. package/dist/payloads/index.foxglove.d.ts +1 -0
  104. package/dist/payloads/index.foxglove.js +1 -0
  105. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  106. package/dist/payloads/index.google.protobuf.js +2 -0
  107. package/dist/payloads/index.keelson.d.ts +12 -1
  108. package/dist/payloads/index.keelson.js +12 -1
  109. package/dist/qos.json +89 -0
  110. package/dist/subjects.json +30 -1
  111. package/package.json +2 -1
@@ -0,0 +1,144 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { Empty } from "./google/protobuf/empty";
3
+ export declare const protobufPackage = "keelson.interfaces.scenario_control";
4
+ export interface LoadRequest {
5
+ /**
6
+ * Identifier of the scenario to load, as the responder understands it —
7
+ * an id within a configured library, or a path it can resolve. Left
8
+ * deliberately opaque: what a scenario *is* varies by simulator, and
9
+ * pinning a schema here would bind every implementation to one.
10
+ */
11
+ scenario: string;
12
+ }
13
+ export interface StepRequest {
14
+ /**
15
+ * Number of fixed steps to advance. Zero is a no-op that still replies
16
+ * OK, so a caller can poll the resulting tick without special-casing.
17
+ */
18
+ ticks: number;
19
+ }
20
+ export interface SetRateRequest {
21
+ /**
22
+ * Wall-clock scaling of simulated time. 1.0 is real time, 0.0 is
23
+ * unpaced; negative replies OUT_OF_RANGE.
24
+ */
25
+ rate: number;
26
+ }
27
+ /**
28
+ * One response message per RPC. Each is dedicated to its method so an
29
+ * individual command can grow a return field later without a breaking
30
+ * type change and without that field bleeding onto the other commands.
31
+ */
32
+ export interface LoadResponse {
33
+ }
34
+ export interface StartResponse {
35
+ }
36
+ export interface PauseResponse {
37
+ }
38
+ export interface StopResponse {
39
+ }
40
+ export interface ResetResponse {
41
+ }
42
+ export interface SetRateResponse {
43
+ }
44
+ export interface StepResponse {
45
+ /**
46
+ * Where the clock came to rest. Returned rather than left to the status
47
+ * broadcast because the caller of a deterministic step needs to know
48
+ * which tick it just produced, without racing a 1 Hz status sample.
49
+ */
50
+ tick: number;
51
+ simulationTime: Date | undefined;
52
+ }
53
+ export declare const LoadRequest: MessageFns<LoadRequest>;
54
+ export declare const StepRequest: MessageFns<StepRequest>;
55
+ export declare const SetRateRequest: MessageFns<SetRateRequest>;
56
+ export declare const LoadResponse: MessageFns<LoadResponse>;
57
+ export declare const StartResponse: MessageFns<StartResponse>;
58
+ export declare const PauseResponse: MessageFns<PauseResponse>;
59
+ export declare const StopResponse: MessageFns<StopResponse>;
60
+ export declare const ResetResponse: MessageFns<ResetResponse>;
61
+ export declare const SetRateResponse: MessageFns<SetRateResponse>;
62
+ export declare const StepResponse: MessageFns<StepResponse>;
63
+ export type ScenarioControlDefinition = typeof ScenarioControlDefinition;
64
+ export declare const ScenarioControlDefinition: {
65
+ readonly name: "ScenarioControl";
66
+ readonly fullName: "keelson.interfaces.scenario_control.ScenarioControl";
67
+ readonly methods: {
68
+ readonly load: {
69
+ readonly name: "load";
70
+ readonly requestType: MessageFns<LoadRequest>;
71
+ readonly requestStream: false;
72
+ readonly responseType: MessageFns<LoadResponse>;
73
+ readonly responseStream: false;
74
+ readonly options: {};
75
+ };
76
+ readonly start: {
77
+ readonly name: "start";
78
+ readonly requestType: import("./google/protobuf/empty").MessageFns<Empty>;
79
+ readonly requestStream: false;
80
+ readonly responseType: MessageFns<StartResponse>;
81
+ readonly responseStream: false;
82
+ readonly options: {};
83
+ };
84
+ readonly pause: {
85
+ readonly name: "pause";
86
+ readonly requestType: import("./google/protobuf/empty").MessageFns<Empty>;
87
+ readonly requestStream: false;
88
+ readonly responseType: MessageFns<PauseResponse>;
89
+ readonly responseStream: false;
90
+ readonly options: {};
91
+ };
92
+ readonly stop: {
93
+ readonly name: "stop";
94
+ readonly requestType: import("./google/protobuf/empty").MessageFns<Empty>;
95
+ readonly requestStream: false;
96
+ readonly responseType: MessageFns<StopResponse>;
97
+ readonly responseStream: false;
98
+ readonly options: {};
99
+ };
100
+ readonly reset: {
101
+ readonly name: "reset";
102
+ readonly requestType: import("./google/protobuf/empty").MessageFns<Empty>;
103
+ readonly requestStream: false;
104
+ readonly responseType: MessageFns<ResetResponse>;
105
+ readonly responseStream: false;
106
+ readonly options: {};
107
+ };
108
+ readonly step: {
109
+ readonly name: "step";
110
+ readonly requestType: MessageFns<StepRequest>;
111
+ readonly requestStream: false;
112
+ readonly responseType: MessageFns<StepResponse>;
113
+ readonly responseStream: false;
114
+ readonly options: {};
115
+ };
116
+ readonly set_rate: {
117
+ readonly name: "set_rate";
118
+ readonly requestType: MessageFns<SetRateRequest>;
119
+ readonly requestStream: false;
120
+ readonly responseType: MessageFns<SetRateResponse>;
121
+ readonly responseStream: false;
122
+ readonly options: {};
123
+ };
124
+ };
125
+ };
126
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
127
+ 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 {} ? {
128
+ [K in keyof T]?: DeepPartial<T[K]>;
129
+ } : Partial<T>;
130
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
131
+ export type Exact<P, I extends P> = P extends Builtin ? P : P & {
132
+ [K in keyof P]: Exact<P[K], I[K]>;
133
+ } & {
134
+ [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
135
+ };
136
+ export interface MessageFns<T> {
137
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
138
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
139
+ fromJSON(object: any): T;
140
+ toJSON(message: T): unknown;
141
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
142
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
143
+ }
144
+ export {};
@@ -0,0 +1,552 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.6.1
5
+ // protoc v6.30.2
6
+ // source: ScenarioControl.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ScenarioControlDefinition = exports.StepResponse = exports.SetRateResponse = exports.ResetResponse = exports.StopResponse = exports.PauseResponse = exports.StartResponse = exports.LoadResponse = exports.SetRateRequest = exports.StepRequest = exports.LoadRequest = exports.protobufPackage = void 0;
9
+ /* eslint-disable */
10
+ const wire_1 = require("@bufbuild/protobuf/wire");
11
+ const empty_1 = require("./google/protobuf/empty");
12
+ const timestamp_1 = require("./google/protobuf/timestamp");
13
+ exports.protobufPackage = "keelson.interfaces.scenario_control";
14
+ function createBaseLoadRequest() {
15
+ return { scenario: "" };
16
+ }
17
+ exports.LoadRequest = {
18
+ encode(message, writer = new wire_1.BinaryWriter()) {
19
+ if (message.scenario !== "") {
20
+ writer.uint32(10).string(message.scenario);
21
+ }
22
+ return writer;
23
+ },
24
+ decode(input, length) {
25
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
26
+ let end = length === undefined ? reader.len : reader.pos + length;
27
+ const message = createBaseLoadRequest();
28
+ while (reader.pos < end) {
29
+ const tag = reader.uint32();
30
+ switch (tag >>> 3) {
31
+ case 1: {
32
+ if (tag !== 10) {
33
+ break;
34
+ }
35
+ message.scenario = reader.string();
36
+ continue;
37
+ }
38
+ }
39
+ if ((tag & 7) === 4 || tag === 0) {
40
+ break;
41
+ }
42
+ reader.skip(tag & 7);
43
+ }
44
+ return message;
45
+ },
46
+ fromJSON(object) {
47
+ return { scenario: isSet(object.scenario) ? globalThis.String(object.scenario) : "" };
48
+ },
49
+ toJSON(message) {
50
+ const obj = {};
51
+ if (message.scenario !== "") {
52
+ obj.scenario = message.scenario;
53
+ }
54
+ return obj;
55
+ },
56
+ create(base) {
57
+ return exports.LoadRequest.fromPartial(base ?? {});
58
+ },
59
+ fromPartial(object) {
60
+ const message = createBaseLoadRequest();
61
+ message.scenario = object.scenario ?? "";
62
+ return message;
63
+ },
64
+ };
65
+ function createBaseStepRequest() {
66
+ return { ticks: 0 };
67
+ }
68
+ exports.StepRequest = {
69
+ encode(message, writer = new wire_1.BinaryWriter()) {
70
+ if (message.ticks !== 0) {
71
+ writer.uint32(8).uint32(message.ticks);
72
+ }
73
+ return writer;
74
+ },
75
+ decode(input, length) {
76
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
77
+ let end = length === undefined ? reader.len : reader.pos + length;
78
+ const message = createBaseStepRequest();
79
+ while (reader.pos < end) {
80
+ const tag = reader.uint32();
81
+ switch (tag >>> 3) {
82
+ case 1: {
83
+ if (tag !== 8) {
84
+ break;
85
+ }
86
+ message.ticks = reader.uint32();
87
+ continue;
88
+ }
89
+ }
90
+ if ((tag & 7) === 4 || tag === 0) {
91
+ break;
92
+ }
93
+ reader.skip(tag & 7);
94
+ }
95
+ return message;
96
+ },
97
+ fromJSON(object) {
98
+ return { ticks: isSet(object.ticks) ? globalThis.Number(object.ticks) : 0 };
99
+ },
100
+ toJSON(message) {
101
+ const obj = {};
102
+ if (message.ticks !== 0) {
103
+ obj.ticks = Math.round(message.ticks);
104
+ }
105
+ return obj;
106
+ },
107
+ create(base) {
108
+ return exports.StepRequest.fromPartial(base ?? {});
109
+ },
110
+ fromPartial(object) {
111
+ const message = createBaseStepRequest();
112
+ message.ticks = object.ticks ?? 0;
113
+ return message;
114
+ },
115
+ };
116
+ function createBaseSetRateRequest() {
117
+ return { rate: 0 };
118
+ }
119
+ exports.SetRateRequest = {
120
+ encode(message, writer = new wire_1.BinaryWriter()) {
121
+ if (message.rate !== 0) {
122
+ writer.uint32(9).double(message.rate);
123
+ }
124
+ return writer;
125
+ },
126
+ decode(input, length) {
127
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
128
+ let end = length === undefined ? reader.len : reader.pos + length;
129
+ const message = createBaseSetRateRequest();
130
+ while (reader.pos < end) {
131
+ const tag = reader.uint32();
132
+ switch (tag >>> 3) {
133
+ case 1: {
134
+ if (tag !== 9) {
135
+ break;
136
+ }
137
+ message.rate = reader.double();
138
+ continue;
139
+ }
140
+ }
141
+ if ((tag & 7) === 4 || tag === 0) {
142
+ break;
143
+ }
144
+ reader.skip(tag & 7);
145
+ }
146
+ return message;
147
+ },
148
+ fromJSON(object) {
149
+ return { rate: isSet(object.rate) ? globalThis.Number(object.rate) : 0 };
150
+ },
151
+ toJSON(message) {
152
+ const obj = {};
153
+ if (message.rate !== 0) {
154
+ obj.rate = message.rate;
155
+ }
156
+ return obj;
157
+ },
158
+ create(base) {
159
+ return exports.SetRateRequest.fromPartial(base ?? {});
160
+ },
161
+ fromPartial(object) {
162
+ const message = createBaseSetRateRequest();
163
+ message.rate = object.rate ?? 0;
164
+ return message;
165
+ },
166
+ };
167
+ function createBaseLoadResponse() {
168
+ return {};
169
+ }
170
+ exports.LoadResponse = {
171
+ encode(_, writer = new wire_1.BinaryWriter()) {
172
+ return writer;
173
+ },
174
+ decode(input, length) {
175
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
176
+ let end = length === undefined ? reader.len : reader.pos + length;
177
+ const message = createBaseLoadResponse();
178
+ while (reader.pos < end) {
179
+ const tag = reader.uint32();
180
+ switch (tag >>> 3) {
181
+ }
182
+ if ((tag & 7) === 4 || tag === 0) {
183
+ break;
184
+ }
185
+ reader.skip(tag & 7);
186
+ }
187
+ return message;
188
+ },
189
+ fromJSON(_) {
190
+ return {};
191
+ },
192
+ toJSON(_) {
193
+ const obj = {};
194
+ return obj;
195
+ },
196
+ create(base) {
197
+ return exports.LoadResponse.fromPartial(base ?? {});
198
+ },
199
+ fromPartial(_) {
200
+ const message = createBaseLoadResponse();
201
+ return message;
202
+ },
203
+ };
204
+ function createBaseStartResponse() {
205
+ return {};
206
+ }
207
+ exports.StartResponse = {
208
+ encode(_, writer = new wire_1.BinaryWriter()) {
209
+ return writer;
210
+ },
211
+ decode(input, length) {
212
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
213
+ let end = length === undefined ? reader.len : reader.pos + length;
214
+ const message = createBaseStartResponse();
215
+ while (reader.pos < end) {
216
+ const tag = reader.uint32();
217
+ switch (tag >>> 3) {
218
+ }
219
+ if ((tag & 7) === 4 || tag === 0) {
220
+ break;
221
+ }
222
+ reader.skip(tag & 7);
223
+ }
224
+ return message;
225
+ },
226
+ fromJSON(_) {
227
+ return {};
228
+ },
229
+ toJSON(_) {
230
+ const obj = {};
231
+ return obj;
232
+ },
233
+ create(base) {
234
+ return exports.StartResponse.fromPartial(base ?? {});
235
+ },
236
+ fromPartial(_) {
237
+ const message = createBaseStartResponse();
238
+ return message;
239
+ },
240
+ };
241
+ function createBasePauseResponse() {
242
+ return {};
243
+ }
244
+ exports.PauseResponse = {
245
+ encode(_, writer = new wire_1.BinaryWriter()) {
246
+ return writer;
247
+ },
248
+ decode(input, length) {
249
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
250
+ let end = length === undefined ? reader.len : reader.pos + length;
251
+ const message = createBasePauseResponse();
252
+ while (reader.pos < end) {
253
+ const tag = reader.uint32();
254
+ switch (tag >>> 3) {
255
+ }
256
+ if ((tag & 7) === 4 || tag === 0) {
257
+ break;
258
+ }
259
+ reader.skip(tag & 7);
260
+ }
261
+ return message;
262
+ },
263
+ fromJSON(_) {
264
+ return {};
265
+ },
266
+ toJSON(_) {
267
+ const obj = {};
268
+ return obj;
269
+ },
270
+ create(base) {
271
+ return exports.PauseResponse.fromPartial(base ?? {});
272
+ },
273
+ fromPartial(_) {
274
+ const message = createBasePauseResponse();
275
+ return message;
276
+ },
277
+ };
278
+ function createBaseStopResponse() {
279
+ return {};
280
+ }
281
+ exports.StopResponse = {
282
+ encode(_, writer = new wire_1.BinaryWriter()) {
283
+ return writer;
284
+ },
285
+ decode(input, length) {
286
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
287
+ let end = length === undefined ? reader.len : reader.pos + length;
288
+ const message = createBaseStopResponse();
289
+ while (reader.pos < end) {
290
+ const tag = reader.uint32();
291
+ switch (tag >>> 3) {
292
+ }
293
+ if ((tag & 7) === 4 || tag === 0) {
294
+ break;
295
+ }
296
+ reader.skip(tag & 7);
297
+ }
298
+ return message;
299
+ },
300
+ fromJSON(_) {
301
+ return {};
302
+ },
303
+ toJSON(_) {
304
+ const obj = {};
305
+ return obj;
306
+ },
307
+ create(base) {
308
+ return exports.StopResponse.fromPartial(base ?? {});
309
+ },
310
+ fromPartial(_) {
311
+ const message = createBaseStopResponse();
312
+ return message;
313
+ },
314
+ };
315
+ function createBaseResetResponse() {
316
+ return {};
317
+ }
318
+ exports.ResetResponse = {
319
+ encode(_, writer = new wire_1.BinaryWriter()) {
320
+ return writer;
321
+ },
322
+ decode(input, length) {
323
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
324
+ let end = length === undefined ? reader.len : reader.pos + length;
325
+ const message = createBaseResetResponse();
326
+ while (reader.pos < end) {
327
+ const tag = reader.uint32();
328
+ switch (tag >>> 3) {
329
+ }
330
+ if ((tag & 7) === 4 || tag === 0) {
331
+ break;
332
+ }
333
+ reader.skip(tag & 7);
334
+ }
335
+ return message;
336
+ },
337
+ fromJSON(_) {
338
+ return {};
339
+ },
340
+ toJSON(_) {
341
+ const obj = {};
342
+ return obj;
343
+ },
344
+ create(base) {
345
+ return exports.ResetResponse.fromPartial(base ?? {});
346
+ },
347
+ fromPartial(_) {
348
+ const message = createBaseResetResponse();
349
+ return message;
350
+ },
351
+ };
352
+ function createBaseSetRateResponse() {
353
+ return {};
354
+ }
355
+ exports.SetRateResponse = {
356
+ encode(_, writer = new wire_1.BinaryWriter()) {
357
+ return writer;
358
+ },
359
+ decode(input, length) {
360
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
361
+ let end = length === undefined ? reader.len : reader.pos + length;
362
+ const message = createBaseSetRateResponse();
363
+ while (reader.pos < end) {
364
+ const tag = reader.uint32();
365
+ switch (tag >>> 3) {
366
+ }
367
+ if ((tag & 7) === 4 || tag === 0) {
368
+ break;
369
+ }
370
+ reader.skip(tag & 7);
371
+ }
372
+ return message;
373
+ },
374
+ fromJSON(_) {
375
+ return {};
376
+ },
377
+ toJSON(_) {
378
+ const obj = {};
379
+ return obj;
380
+ },
381
+ create(base) {
382
+ return exports.SetRateResponse.fromPartial(base ?? {});
383
+ },
384
+ fromPartial(_) {
385
+ const message = createBaseSetRateResponse();
386
+ return message;
387
+ },
388
+ };
389
+ function createBaseStepResponse() {
390
+ return { tick: 0, simulationTime: undefined };
391
+ }
392
+ exports.StepResponse = {
393
+ encode(message, writer = new wire_1.BinaryWriter()) {
394
+ if (message.tick !== 0) {
395
+ writer.uint32(8).uint64(message.tick);
396
+ }
397
+ if (message.simulationTime !== undefined) {
398
+ timestamp_1.Timestamp.encode(toTimestamp(message.simulationTime), writer.uint32(18).fork()).join();
399
+ }
400
+ return writer;
401
+ },
402
+ decode(input, length) {
403
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
404
+ let end = length === undefined ? reader.len : reader.pos + length;
405
+ const message = createBaseStepResponse();
406
+ while (reader.pos < end) {
407
+ const tag = reader.uint32();
408
+ switch (tag >>> 3) {
409
+ case 1: {
410
+ if (tag !== 8) {
411
+ break;
412
+ }
413
+ message.tick = longToNumber(reader.uint64());
414
+ continue;
415
+ }
416
+ case 2: {
417
+ if (tag !== 18) {
418
+ break;
419
+ }
420
+ message.simulationTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
421
+ continue;
422
+ }
423
+ }
424
+ if ((tag & 7) === 4 || tag === 0) {
425
+ break;
426
+ }
427
+ reader.skip(tag & 7);
428
+ }
429
+ return message;
430
+ },
431
+ fromJSON(object) {
432
+ return {
433
+ tick: isSet(object.tick) ? globalThis.Number(object.tick) : 0,
434
+ simulationTime: isSet(object.simulationTime) ? fromJsonTimestamp(object.simulationTime) : undefined,
435
+ };
436
+ },
437
+ toJSON(message) {
438
+ const obj = {};
439
+ if (message.tick !== 0) {
440
+ obj.tick = Math.round(message.tick);
441
+ }
442
+ if (message.simulationTime !== undefined) {
443
+ obj.simulationTime = message.simulationTime.toISOString();
444
+ }
445
+ return obj;
446
+ },
447
+ create(base) {
448
+ return exports.StepResponse.fromPartial(base ?? {});
449
+ },
450
+ fromPartial(object) {
451
+ const message = createBaseStepResponse();
452
+ message.tick = object.tick ?? 0;
453
+ message.simulationTime = object.simulationTime ?? undefined;
454
+ return message;
455
+ },
456
+ };
457
+ exports.ScenarioControlDefinition = {
458
+ name: "ScenarioControl",
459
+ fullName: "keelson.interfaces.scenario_control.ScenarioControl",
460
+ methods: {
461
+ load: {
462
+ name: "load",
463
+ requestType: exports.LoadRequest,
464
+ requestStream: false,
465
+ responseType: exports.LoadResponse,
466
+ responseStream: false,
467
+ options: {},
468
+ },
469
+ start: {
470
+ name: "start",
471
+ requestType: empty_1.Empty,
472
+ requestStream: false,
473
+ responseType: exports.StartResponse,
474
+ responseStream: false,
475
+ options: {},
476
+ },
477
+ pause: {
478
+ name: "pause",
479
+ requestType: empty_1.Empty,
480
+ requestStream: false,
481
+ responseType: exports.PauseResponse,
482
+ responseStream: false,
483
+ options: {},
484
+ },
485
+ stop: {
486
+ name: "stop",
487
+ requestType: empty_1.Empty,
488
+ requestStream: false,
489
+ responseType: exports.StopResponse,
490
+ responseStream: false,
491
+ options: {},
492
+ },
493
+ reset: {
494
+ name: "reset",
495
+ requestType: empty_1.Empty,
496
+ requestStream: false,
497
+ responseType: exports.ResetResponse,
498
+ responseStream: false,
499
+ options: {},
500
+ },
501
+ step: {
502
+ name: "step",
503
+ requestType: exports.StepRequest,
504
+ requestStream: false,
505
+ responseType: exports.StepResponse,
506
+ responseStream: false,
507
+ options: {},
508
+ },
509
+ set_rate: {
510
+ name: "set_rate",
511
+ requestType: exports.SetRateRequest,
512
+ requestStream: false,
513
+ responseType: exports.SetRateResponse,
514
+ responseStream: false,
515
+ options: {},
516
+ },
517
+ },
518
+ };
519
+ function toTimestamp(date) {
520
+ const seconds = Math.trunc(date.getTime() / 1000);
521
+ const nanos = (date.getTime() % 1000) * 1000000;
522
+ return { seconds, nanos };
523
+ }
524
+ function fromTimestamp(t) {
525
+ let millis = (t.seconds || 0) * 1000;
526
+ millis += (t.nanos || 0) / 1000000;
527
+ return new globalThis.Date(millis);
528
+ }
529
+ function fromJsonTimestamp(o) {
530
+ if (o instanceof globalThis.Date) {
531
+ return o;
532
+ }
533
+ else if (typeof o === "string") {
534
+ return new globalThis.Date(o);
535
+ }
536
+ else {
537
+ return fromTimestamp(timestamp_1.Timestamp.fromJSON(o));
538
+ }
539
+ }
540
+ function longToNumber(int64) {
541
+ const num = globalThis.Number(int64.toString());
542
+ if (num > globalThis.Number.MAX_SAFE_INTEGER) {
543
+ throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
544
+ }
545
+ if (num < globalThis.Number.MIN_SAFE_INTEGER) {
546
+ throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
547
+ }
548
+ return num;
549
+ }
550
+ function isSet(value) {
551
+ return value !== null && value !== undefined;
552
+ }