@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.
- package/dist/index.d.ts +31 -31
- package/dist/interfaces/ContainerControl.d.ts +7 -0
- package/dist/interfaces/ContainerControl.js +18 -1
- package/dist/interfaces/ContainerHost.d.ts +45 -0
- package/dist/interfaces/ContainerHost.js +332 -1
- package/dist/interfaces/NavigationRiskControl.d.ts +161 -0
- package/dist/interfaces/NavigationRiskControl.js +1007 -0
- package/dist/interfaces/ReplayControl.d.ts +49 -1
- package/dist/interfaces/ReplayControl.js +274 -1
- package/dist/interfaces/Route.d.ts +3 -0
- package/dist/interfaces/serviceRegistry.d.ts +33 -33
- package/dist/interfaces/serviceRegistry.js +2 -2
- package/dist/interfaces.json +1 -1
- package/dist/payloads/AdviceDisposition.d.ts +20 -5
- package/dist/payloads/AdviceDisposition.js +7 -0
- package/dist/payloads/ContainerHost.d.ts +48 -0
- package/dist/payloads/ContainerHost.js +341 -1
- package/dist/payloads/NavigationAdvice.d.ts +24 -0
- package/dist/payloads/NavigationAdvice.js +91 -1
- package/dist/payloads/NavigationRisk.d.ts +341 -0
- package/dist/payloads/NavigationRisk.js +2530 -0
- package/dist/payloads/NavigationState.d.ts +0 -46
- package/dist/payloads/NavigationState.js +1 -252
- package/dist/payloads/Route.d.ts +3 -0
- package/dist/payloads/index.keelson.d.ts +1 -0
- package/dist/payloads/index.keelson.js +1 -0
- package/dist/subjects.json +1 -0
- package/package.json +1 -1
- package/dist/interfaces/NavigationControl.d.ts +0 -169
- package/dist/interfaces/NavigationControl.js +0 -806
- package/dist/interfaces/NavigationState.d.ts +0 -132
- package/dist/interfaces/NavigationState.js +0 -615
- package/dist/interfaces/OperationalAuthority.d.ts +0 -217
- package/dist/interfaces/OperationalAuthority.js +0 -807
- package/dist/interfaces/VesselType.d.ts +0 -133
- package/dist/interfaces/VesselType.js +0 -726
- package/dist/interfaces/Voyage.d.ts +0 -151
- package/dist/interfaces/Voyage.js +0 -855
|
@@ -22,6 +22,38 @@ export interface ListFilesResponse {
|
|
|
22
22
|
baseDirectory: string;
|
|
23
23
|
files: FileInfo[];
|
|
24
24
|
}
|
|
25
|
+
export interface DescribeFileRequest {
|
|
26
|
+
/**
|
|
27
|
+
* Path relative to the replayer's base directory, as in load_file. The file
|
|
28
|
+
* need not be loaded — a client can inspect a recording before playing it.
|
|
29
|
+
*/
|
|
30
|
+
path: string;
|
|
31
|
+
}
|
|
32
|
+
/** One channel (topic) in the file, and when it spoke. */
|
|
33
|
+
export interface ChannelInfo {
|
|
34
|
+
topic: string;
|
|
35
|
+
/** The channel's schema name as recorded, e.g. "keelson.TimestampedFloat". */
|
|
36
|
+
schemaName: string;
|
|
37
|
+
/** The channel's message encoding as recorded, e.g. "protobuf". */
|
|
38
|
+
messageEncoding: string;
|
|
39
|
+
messageCount: number;
|
|
40
|
+
/**
|
|
41
|
+
* log_time of the channel's first and last message. Unset when the channel
|
|
42
|
+
* recorded no messages. Exact, not the bounds of the chunks it appears in.
|
|
43
|
+
*/
|
|
44
|
+
firstTime: Date | undefined;
|
|
45
|
+
lastTime: Date | undefined;
|
|
46
|
+
}
|
|
47
|
+
export interface DescribeFileResponse {
|
|
48
|
+
file: FileInfo | undefined;
|
|
49
|
+
channels: ChannelInfo[];
|
|
50
|
+
/**
|
|
51
|
+
* True when the file carried no summary or no chunk indexes, so the replayer
|
|
52
|
+
* had to read it end to end. The figures are still exact; the call was just
|
|
53
|
+
* proportional to the file's size rather than to its number of chunks.
|
|
54
|
+
*/
|
|
55
|
+
fromScan: boolean;
|
|
56
|
+
}
|
|
25
57
|
export interface LoadFileRequest {
|
|
26
58
|
path: string;
|
|
27
59
|
}
|
|
@@ -30,7 +62,11 @@ export interface SeekRequest {
|
|
|
30
62
|
target: Date | undefined;
|
|
31
63
|
}
|
|
32
64
|
export interface SetSpeedRequest {
|
|
33
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Playback speed multiplier; expected range [0.25, 20.0]. At high speeds a
|
|
67
|
+
* recording heavy with images or point clouds is published as fast as the
|
|
68
|
+
* replayer can manage and lags wall time; no message is dropped.
|
|
69
|
+
*/
|
|
34
70
|
speed: number;
|
|
35
71
|
}
|
|
36
72
|
export interface SetLoopRequest {
|
|
@@ -42,6 +78,9 @@ export interface ReplaySuccessResponse {
|
|
|
42
78
|
export declare const FileInfo: MessageFns<FileInfo>;
|
|
43
79
|
export declare const ListFilesRequest: MessageFns<ListFilesRequest>;
|
|
44
80
|
export declare const ListFilesResponse: MessageFns<ListFilesResponse>;
|
|
81
|
+
export declare const DescribeFileRequest: MessageFns<DescribeFileRequest>;
|
|
82
|
+
export declare const ChannelInfo: MessageFns<ChannelInfo>;
|
|
83
|
+
export declare const DescribeFileResponse: MessageFns<DescribeFileResponse>;
|
|
45
84
|
export declare const LoadFileRequest: MessageFns<LoadFileRequest>;
|
|
46
85
|
export declare const SeekRequest: MessageFns<SeekRequest>;
|
|
47
86
|
export declare const SetSpeedRequest: MessageFns<SetSpeedRequest>;
|
|
@@ -60,6 +99,15 @@ export declare const ReplayControlDefinition: {
|
|
|
60
99
|
readonly responseStream: false;
|
|
61
100
|
readonly options: {};
|
|
62
101
|
};
|
|
102
|
+
/** Per-channel message counts and first/last message times for one file. */
|
|
103
|
+
readonly describe_file: {
|
|
104
|
+
readonly name: "describe_file";
|
|
105
|
+
readonly requestType: MessageFns<DescribeFileRequest>;
|
|
106
|
+
readonly requestStream: false;
|
|
107
|
+
readonly responseType: MessageFns<DescribeFileResponse>;
|
|
108
|
+
readonly responseStream: false;
|
|
109
|
+
readonly options: {};
|
|
110
|
+
};
|
|
63
111
|
readonly load_file: {
|
|
64
112
|
readonly name: "load_file";
|
|
65
113
|
readonly requestType: MessageFns<LoadFileRequest>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// protoc v6.30.2
|
|
6
6
|
// source: ReplayControl.proto
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.ReplayControlDefinition = exports.ReplaySuccessResponse = exports.SetLoopRequest = exports.SetSpeedRequest = exports.SeekRequest = exports.LoadFileRequest = exports.ListFilesResponse = exports.ListFilesRequest = exports.FileInfo = exports.protobufPackage = void 0;
|
|
8
|
+
exports.ReplayControlDefinition = exports.ReplaySuccessResponse = exports.SetLoopRequest = exports.SetSpeedRequest = exports.SeekRequest = exports.LoadFileRequest = exports.DescribeFileResponse = exports.ChannelInfo = exports.DescribeFileRequest = exports.ListFilesResponse = exports.ListFilesRequest = exports.FileInfo = exports.protobufPackage = void 0;
|
|
9
9
|
/* eslint-disable */
|
|
10
10
|
const wire_1 = require("@bufbuild/protobuf/wire");
|
|
11
11
|
const empty_1 = require("./google/protobuf/empty");
|
|
@@ -283,6 +283,270 @@ exports.ListFilesResponse = {
|
|
|
283
283
|
return message;
|
|
284
284
|
},
|
|
285
285
|
};
|
|
286
|
+
function createBaseDescribeFileRequest() {
|
|
287
|
+
return { path: "" };
|
|
288
|
+
}
|
|
289
|
+
exports.DescribeFileRequest = {
|
|
290
|
+
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
291
|
+
if (message.path !== "") {
|
|
292
|
+
writer.uint32(10).string(message.path);
|
|
293
|
+
}
|
|
294
|
+
return writer;
|
|
295
|
+
},
|
|
296
|
+
decode(input, length) {
|
|
297
|
+
const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
|
|
298
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
299
|
+
const message = createBaseDescribeFileRequest();
|
|
300
|
+
while (reader.pos < end) {
|
|
301
|
+
const tag = reader.uint32();
|
|
302
|
+
switch (tag >>> 3) {
|
|
303
|
+
case 1: {
|
|
304
|
+
if (tag !== 10) {
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
message.path = reader.string();
|
|
308
|
+
continue;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
reader.skip(tag & 7);
|
|
315
|
+
}
|
|
316
|
+
return message;
|
|
317
|
+
},
|
|
318
|
+
fromJSON(object) {
|
|
319
|
+
return { path: isSet(object.path) ? globalThis.String(object.path) : "" };
|
|
320
|
+
},
|
|
321
|
+
toJSON(message) {
|
|
322
|
+
const obj = {};
|
|
323
|
+
if (message.path !== "") {
|
|
324
|
+
obj.path = message.path;
|
|
325
|
+
}
|
|
326
|
+
return obj;
|
|
327
|
+
},
|
|
328
|
+
create(base) {
|
|
329
|
+
return exports.DescribeFileRequest.fromPartial(base ?? {});
|
|
330
|
+
},
|
|
331
|
+
fromPartial(object) {
|
|
332
|
+
const message = createBaseDescribeFileRequest();
|
|
333
|
+
message.path = object.path ?? "";
|
|
334
|
+
return message;
|
|
335
|
+
},
|
|
336
|
+
};
|
|
337
|
+
function createBaseChannelInfo() {
|
|
338
|
+
return { topic: "", schemaName: "", messageEncoding: "", messageCount: 0, firstTime: undefined, lastTime: undefined };
|
|
339
|
+
}
|
|
340
|
+
exports.ChannelInfo = {
|
|
341
|
+
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
342
|
+
if (message.topic !== "") {
|
|
343
|
+
writer.uint32(10).string(message.topic);
|
|
344
|
+
}
|
|
345
|
+
if (message.schemaName !== "") {
|
|
346
|
+
writer.uint32(18).string(message.schemaName);
|
|
347
|
+
}
|
|
348
|
+
if (message.messageEncoding !== "") {
|
|
349
|
+
writer.uint32(26).string(message.messageEncoding);
|
|
350
|
+
}
|
|
351
|
+
if (message.messageCount !== 0) {
|
|
352
|
+
writer.uint32(32).uint64(message.messageCount);
|
|
353
|
+
}
|
|
354
|
+
if (message.firstTime !== undefined) {
|
|
355
|
+
timestamp_1.Timestamp.encode(toTimestamp(message.firstTime), writer.uint32(42).fork()).join();
|
|
356
|
+
}
|
|
357
|
+
if (message.lastTime !== undefined) {
|
|
358
|
+
timestamp_1.Timestamp.encode(toTimestamp(message.lastTime), writer.uint32(50).fork()).join();
|
|
359
|
+
}
|
|
360
|
+
return writer;
|
|
361
|
+
},
|
|
362
|
+
decode(input, length) {
|
|
363
|
+
const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
|
|
364
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
365
|
+
const message = createBaseChannelInfo();
|
|
366
|
+
while (reader.pos < end) {
|
|
367
|
+
const tag = reader.uint32();
|
|
368
|
+
switch (tag >>> 3) {
|
|
369
|
+
case 1: {
|
|
370
|
+
if (tag !== 10) {
|
|
371
|
+
break;
|
|
372
|
+
}
|
|
373
|
+
message.topic = reader.string();
|
|
374
|
+
continue;
|
|
375
|
+
}
|
|
376
|
+
case 2: {
|
|
377
|
+
if (tag !== 18) {
|
|
378
|
+
break;
|
|
379
|
+
}
|
|
380
|
+
message.schemaName = reader.string();
|
|
381
|
+
continue;
|
|
382
|
+
}
|
|
383
|
+
case 3: {
|
|
384
|
+
if (tag !== 26) {
|
|
385
|
+
break;
|
|
386
|
+
}
|
|
387
|
+
message.messageEncoding = reader.string();
|
|
388
|
+
continue;
|
|
389
|
+
}
|
|
390
|
+
case 4: {
|
|
391
|
+
if (tag !== 32) {
|
|
392
|
+
break;
|
|
393
|
+
}
|
|
394
|
+
message.messageCount = longToNumber(reader.uint64());
|
|
395
|
+
continue;
|
|
396
|
+
}
|
|
397
|
+
case 5: {
|
|
398
|
+
if (tag !== 42) {
|
|
399
|
+
break;
|
|
400
|
+
}
|
|
401
|
+
message.firstTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
|
|
402
|
+
continue;
|
|
403
|
+
}
|
|
404
|
+
case 6: {
|
|
405
|
+
if (tag !== 50) {
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
message.lastTime = fromTimestamp(timestamp_1.Timestamp.decode(reader, reader.uint32()));
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
413
|
+
break;
|
|
414
|
+
}
|
|
415
|
+
reader.skip(tag & 7);
|
|
416
|
+
}
|
|
417
|
+
return message;
|
|
418
|
+
},
|
|
419
|
+
fromJSON(object) {
|
|
420
|
+
return {
|
|
421
|
+
topic: isSet(object.topic) ? globalThis.String(object.topic) : "",
|
|
422
|
+
schemaName: isSet(object.schemaName) ? globalThis.String(object.schemaName) : "",
|
|
423
|
+
messageEncoding: isSet(object.messageEncoding) ? globalThis.String(object.messageEncoding) : "",
|
|
424
|
+
messageCount: isSet(object.messageCount) ? globalThis.Number(object.messageCount) : 0,
|
|
425
|
+
firstTime: isSet(object.firstTime) ? fromJsonTimestamp(object.firstTime) : undefined,
|
|
426
|
+
lastTime: isSet(object.lastTime) ? fromJsonTimestamp(object.lastTime) : undefined,
|
|
427
|
+
};
|
|
428
|
+
},
|
|
429
|
+
toJSON(message) {
|
|
430
|
+
const obj = {};
|
|
431
|
+
if (message.topic !== "") {
|
|
432
|
+
obj.topic = message.topic;
|
|
433
|
+
}
|
|
434
|
+
if (message.schemaName !== "") {
|
|
435
|
+
obj.schemaName = message.schemaName;
|
|
436
|
+
}
|
|
437
|
+
if (message.messageEncoding !== "") {
|
|
438
|
+
obj.messageEncoding = message.messageEncoding;
|
|
439
|
+
}
|
|
440
|
+
if (message.messageCount !== 0) {
|
|
441
|
+
obj.messageCount = Math.round(message.messageCount);
|
|
442
|
+
}
|
|
443
|
+
if (message.firstTime !== undefined) {
|
|
444
|
+
obj.firstTime = message.firstTime.toISOString();
|
|
445
|
+
}
|
|
446
|
+
if (message.lastTime !== undefined) {
|
|
447
|
+
obj.lastTime = message.lastTime.toISOString();
|
|
448
|
+
}
|
|
449
|
+
return obj;
|
|
450
|
+
},
|
|
451
|
+
create(base) {
|
|
452
|
+
return exports.ChannelInfo.fromPartial(base ?? {});
|
|
453
|
+
},
|
|
454
|
+
fromPartial(object) {
|
|
455
|
+
const message = createBaseChannelInfo();
|
|
456
|
+
message.topic = object.topic ?? "";
|
|
457
|
+
message.schemaName = object.schemaName ?? "";
|
|
458
|
+
message.messageEncoding = object.messageEncoding ?? "";
|
|
459
|
+
message.messageCount = object.messageCount ?? 0;
|
|
460
|
+
message.firstTime = object.firstTime ?? undefined;
|
|
461
|
+
message.lastTime = object.lastTime ?? undefined;
|
|
462
|
+
return message;
|
|
463
|
+
},
|
|
464
|
+
};
|
|
465
|
+
function createBaseDescribeFileResponse() {
|
|
466
|
+
return { file: undefined, channels: [], fromScan: false };
|
|
467
|
+
}
|
|
468
|
+
exports.DescribeFileResponse = {
|
|
469
|
+
encode(message, writer = new wire_1.BinaryWriter()) {
|
|
470
|
+
if (message.file !== undefined) {
|
|
471
|
+
exports.FileInfo.encode(message.file, writer.uint32(10).fork()).join();
|
|
472
|
+
}
|
|
473
|
+
for (const v of message.channels) {
|
|
474
|
+
exports.ChannelInfo.encode(v, writer.uint32(18).fork()).join();
|
|
475
|
+
}
|
|
476
|
+
if (message.fromScan !== false) {
|
|
477
|
+
writer.uint32(24).bool(message.fromScan);
|
|
478
|
+
}
|
|
479
|
+
return writer;
|
|
480
|
+
},
|
|
481
|
+
decode(input, length) {
|
|
482
|
+
const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
|
|
483
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
484
|
+
const message = createBaseDescribeFileResponse();
|
|
485
|
+
while (reader.pos < end) {
|
|
486
|
+
const tag = reader.uint32();
|
|
487
|
+
switch (tag >>> 3) {
|
|
488
|
+
case 1: {
|
|
489
|
+
if (tag !== 10) {
|
|
490
|
+
break;
|
|
491
|
+
}
|
|
492
|
+
message.file = exports.FileInfo.decode(reader, reader.uint32());
|
|
493
|
+
continue;
|
|
494
|
+
}
|
|
495
|
+
case 2: {
|
|
496
|
+
if (tag !== 18) {
|
|
497
|
+
break;
|
|
498
|
+
}
|
|
499
|
+
message.channels.push(exports.ChannelInfo.decode(reader, reader.uint32()));
|
|
500
|
+
continue;
|
|
501
|
+
}
|
|
502
|
+
case 3: {
|
|
503
|
+
if (tag !== 24) {
|
|
504
|
+
break;
|
|
505
|
+
}
|
|
506
|
+
message.fromScan = reader.bool();
|
|
507
|
+
continue;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
511
|
+
break;
|
|
512
|
+
}
|
|
513
|
+
reader.skip(tag & 7);
|
|
514
|
+
}
|
|
515
|
+
return message;
|
|
516
|
+
},
|
|
517
|
+
fromJSON(object) {
|
|
518
|
+
return {
|
|
519
|
+
file: isSet(object.file) ? exports.FileInfo.fromJSON(object.file) : undefined,
|
|
520
|
+
channels: globalThis.Array.isArray(object?.channels)
|
|
521
|
+
? object.channels.map((e) => exports.ChannelInfo.fromJSON(e))
|
|
522
|
+
: [],
|
|
523
|
+
fromScan: isSet(object.fromScan) ? globalThis.Boolean(object.fromScan) : false,
|
|
524
|
+
};
|
|
525
|
+
},
|
|
526
|
+
toJSON(message) {
|
|
527
|
+
const obj = {};
|
|
528
|
+
if (message.file !== undefined) {
|
|
529
|
+
obj.file = exports.FileInfo.toJSON(message.file);
|
|
530
|
+
}
|
|
531
|
+
if (message.channels?.length) {
|
|
532
|
+
obj.channels = message.channels.map((e) => exports.ChannelInfo.toJSON(e));
|
|
533
|
+
}
|
|
534
|
+
if (message.fromScan !== false) {
|
|
535
|
+
obj.fromScan = message.fromScan;
|
|
536
|
+
}
|
|
537
|
+
return obj;
|
|
538
|
+
},
|
|
539
|
+
create(base) {
|
|
540
|
+
return exports.DescribeFileResponse.fromPartial(base ?? {});
|
|
541
|
+
},
|
|
542
|
+
fromPartial(object) {
|
|
543
|
+
const message = createBaseDescribeFileResponse();
|
|
544
|
+
message.file = (object.file !== undefined && object.file !== null) ? exports.FileInfo.fromPartial(object.file) : undefined;
|
|
545
|
+
message.channels = object.channels?.map((e) => exports.ChannelInfo.fromPartial(e)) || [];
|
|
546
|
+
message.fromScan = object.fromScan ?? false;
|
|
547
|
+
return message;
|
|
548
|
+
},
|
|
549
|
+
};
|
|
286
550
|
function createBaseLoadFileRequest() {
|
|
287
551
|
return { path: "" };
|
|
288
552
|
}
|
|
@@ -536,6 +800,15 @@ exports.ReplayControlDefinition = {
|
|
|
536
800
|
responseStream: false,
|
|
537
801
|
options: {},
|
|
538
802
|
},
|
|
803
|
+
/** Per-channel message counts and first/last message times for one file. */
|
|
804
|
+
describe_file: {
|
|
805
|
+
name: "describe_file",
|
|
806
|
+
requestType: exports.DescribeFileRequest,
|
|
807
|
+
requestStream: false,
|
|
808
|
+
responseType: exports.DescribeFileResponse,
|
|
809
|
+
responseStream: false,
|
|
810
|
+
options: {},
|
|
811
|
+
},
|
|
539
812
|
load_file: {
|
|
540
813
|
name: "load_file",
|
|
541
814
|
requestType: exports.LoadFileRequest,
|
|
@@ -410,6 +410,9 @@ export interface Waypoints {
|
|
|
410
410
|
* route sets no default speed" as distinct from "this route defaults to
|
|
411
411
|
* zero", and a consumer merging defaults into a waypoint cannot tell which
|
|
412
412
|
* it was handed.
|
|
413
|
+
*
|
|
414
|
+
* `Leg.xtd_corridor_mode` and both boundary lists are ignored here: a drawn
|
|
415
|
+
* corridor belongs to one stretch of water and cannot be a default (§6.2.2).
|
|
413
416
|
*/
|
|
414
417
|
export interface DefaultWaypoint {
|
|
415
418
|
leg: Leg | undefined;
|
|
@@ -111,53 +111,45 @@ export declare const serviceDefinitions: {
|
|
|
111
111
|
};
|
|
112
112
|
};
|
|
113
113
|
};
|
|
114
|
-
readonly "
|
|
115
|
-
readonly name: "
|
|
116
|
-
readonly fullName: "keelson.interfaces.
|
|
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
|
|
119
|
-
readonly name: "
|
|
120
|
-
readonly requestType: import("./
|
|
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("./
|
|
122
|
+
readonly responseType: import("./NetworkPingPong").MessageFns<import("./NetworkPingPong").NetworkPong>;
|
|
131
123
|
readonly responseStream: false;
|
|
132
124
|
readonly options: {};
|
|
133
125
|
};
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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("./
|
|
136
|
+
readonly responseType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").ListAssessmentsResponse>;
|
|
139
137
|
readonly responseStream: false;
|
|
140
138
|
readonly options: {};
|
|
141
139
|
};
|
|
142
|
-
readonly
|
|
143
|
-
readonly name: "
|
|
144
|
-
readonly requestType: import("./
|
|
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("./
|
|
144
|
+
readonly responseType: import("./NavigationRiskControl").MessageFns<import("./NavigationRiskControl").StartAssessmentResponse>;
|
|
147
145
|
readonly responseStream: false;
|
|
148
146
|
readonly options: {};
|
|
149
147
|
};
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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("./
|
|
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,
|
package/dist/interfaces.json
CHANGED
|
@@ -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
|
-
*
|
|
3
|
+
* The decision on one NavigationAdvice, and who made it.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
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
|
-
/**
|
|
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">;
|