@rise-maritime/keelson-js 0.5.3 → 0.6.0-alpha.202.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 (121) 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 +640 -0
  21. package/dist/interfaces/Route.js +4180 -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/ChecklistEvent.d.ts +152 -0
  66. package/dist/payloads/ChecklistEvent.js +524 -0
  67. package/dist/payloads/ChecklistEvidence.d.ts +79 -0
  68. package/dist/payloads/ChecklistEvidence.js +287 -0
  69. package/dist/payloads/ChecklistPresence.d.ts +68 -0
  70. package/dist/payloads/ChecklistPresence.js +286 -0
  71. package/dist/payloads/ChecklistProcedure.d.ts +81 -0
  72. package/dist/payloads/ChecklistProcedure.js +364 -0
  73. package/dist/payloads/ChecklistState.d.ts +178 -0
  74. package/dist/payloads/ChecklistState.js +838 -0
  75. package/dist/payloads/CommandAuthority.d.ts +82 -0
  76. package/dist/payloads/CommandAuthority.js +364 -0
  77. package/dist/payloads/Coordinate.d.ts +39 -0
  78. package/dist/payloads/Coordinate.js +85 -0
  79. package/dist/payloads/EntityHealth.d.ts +9 -0
  80. package/dist/payloads/EntityHealth.js +14 -0
  81. package/dist/payloads/Mission.d.ts +137 -0
  82. package/dist/payloads/Mission.js +826 -0
  83. package/dist/payloads/OperationalAuthority.d.ts +172 -5
  84. package/dist/payloads/OperationalAuthority.js +525 -6
  85. package/dist/payloads/Route.d.ts +662 -0
  86. package/dist/payloads/Route.js +4289 -0
  87. package/dist/payloads/RouteChangeEvent.d.ts +42 -0
  88. package/dist/payloads/RouteChangeEvent.js +223 -0
  89. package/dist/payloads/RouteEditAuthority.d.ts +87 -0
  90. package/dist/payloads/RouteEditAuthority.js +380 -0
  91. package/dist/payloads/RouteExecution.d.ts +64 -0
  92. package/dist/payloads/RouteExecution.js +310 -0
  93. package/dist/payloads/ScenarioStatus.d.ts +160 -0
  94. package/dist/payloads/ScenarioStatus.js +654 -0
  95. package/dist/payloads/Severity.d.ts +13 -6
  96. package/dist/payloads/Severity.js +30 -18
  97. package/dist/payloads/SimulationStatus.d.ts +3 -4
  98. package/dist/payloads/SimulationStatus.js +12 -18
  99. package/dist/payloads/TestObjectStatus.d.ts +154 -0
  100. package/dist/payloads/TestObjectStatus.js +580 -0
  101. package/dist/payloads/VesselType.d.ts +2 -1
  102. package/dist/payloads/VesselType.js +1 -1
  103. package/dist/payloads/Voyage.d.ts +154 -0
  104. package/dist/payloads/Voyage.js +866 -0
  105. package/dist/payloads/WarrantRecord.d.ts +168 -0
  106. package/dist/payloads/WarrantRecord.js +781 -0
  107. package/dist/payloads/foxglove/CompressedPointCloud.d.ts +37 -0
  108. package/dist/payloads/foxglove/CompressedPointCloud.js +185 -0
  109. package/dist/payloads/google/protobuf/any.d.ts +145 -0
  110. package/dist/payloads/google/protobuf/any.js +110 -0
  111. package/dist/payloads/google/protobuf/empty.d.ts +34 -0
  112. package/dist/payloads/google/protobuf/empty.js +50 -0
  113. package/dist/payloads/index.foxglove.d.ts +1 -0
  114. package/dist/payloads/index.foxglove.js +1 -0
  115. package/dist/payloads/index.google.protobuf.d.ts +2 -0
  116. package/dist/payloads/index.google.protobuf.js +2 -0
  117. package/dist/payloads/index.keelson.d.ts +17 -1
  118. package/dist/payloads/index.keelson.js +17 -1
  119. package/dist/qos.json +95 -0
  120. package/dist/subjects.json +38 -1
  121. package/package.json +2 -1
@@ -0,0 +1,137 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { Coordinate } from "./Coordinate";
3
+ import { Empty } from "./google/protobuf/empty";
4
+ /**
5
+ * One step in a mission. The `step` oneof picks the action; fields
6
+ * that don't apply to the chosen step are simply absent (no opaque
7
+ * `param1..4` carrying overloaded meanings).
8
+ *
9
+ * Sequence position is the index in Mission.items — there is no
10
+ * separate `seq` field. Connectors that need wire-level sequence
11
+ * numbers (e.g. MAVLink MISSION_ITEM_INT) synthesise them from the
12
+ * list index on upload. A MissionItem published in isolation loses
13
+ * that context; publishing designs must carry it explicitly (index,
14
+ * mission id, ...).
15
+ */
16
+ export interface MissionItem {
17
+ $type: "keelson.MissionItem";
18
+ autocontinue: boolean;
19
+ waypoint?: MissionWaypoint | undefined;
20
+ loiter?: Loiter | undefined;
21
+ delay?: Delay | undefined;
22
+ returnHome?: ReturnHome | undefined;
23
+ changeSpeed?: ChangeSpeed | undefined;
24
+ setHome?: SetHome | undefined;
25
+ }
26
+ export interface Mission {
27
+ $type: "keelson.Mission";
28
+ items: MissionItem[];
29
+ }
30
+ /**
31
+ * Drive to a position and (optionally) hold for a fixed duration before
32
+ * proceeding. `altitude_m` is interpreted per the connector's vehicle
33
+ * type (surface vessels typically use 0). `acceptance_radius_m = 0`
34
+ * means "use the autopilot's default".
35
+ *
36
+ * Named `MissionWaypoint`, not `Waypoint`: `keelson.Waypoint` is the route
37
+ * plan artifact in Route.proto — stable id, revision, turn radius,
38
+ * wheel-over distance, operational context, outgoing leg. The two are not
39
+ * two spellings of one concept and merging them would produce a union that
40
+ * serves neither; see protocol-specification.md §6.8. What converges
41
+ * between them is `Coordinate`, which both now use for position.
42
+ */
43
+ export interface MissionWaypoint {
44
+ $type: "keelson.MissionWaypoint";
45
+ position: Coordinate | undefined;
46
+ altitudeM: number;
47
+ acceptanceRadiusM: number;
48
+ /**
49
+ * Hold at the waypoint for this many seconds before advancing.
50
+ * 0 = pass straight through.
51
+ */
52
+ holdTimeS: number;
53
+ }
54
+ /** Orbit a position. Termination picks how the loiter ends. */
55
+ export interface Loiter {
56
+ $type: "keelson.Loiter";
57
+ position: Coordinate | undefined;
58
+ altitudeM: number;
59
+ radiusM: number;
60
+ /** loiter forever */
61
+ unlimited?: Empty | undefined;
62
+ /** loiter for N complete orbits */
63
+ turns?: number | undefined;
64
+ /** loiter for this many seconds */
65
+ durationS?: number | undefined;
66
+ }
67
+ /** Wait in place for a fixed duration before advancing. */
68
+ export interface Delay {
69
+ $type: "keelson.Delay";
70
+ durationS: number;
71
+ }
72
+ /** Return to the launch / home position. */
73
+ export interface ReturnHome {
74
+ $type: "keelson.ReturnHome";
75
+ }
76
+ /** Change the cruise speed used by subsequent waypoints. */
77
+ export interface ChangeSpeed {
78
+ $type: "keelson.ChangeSpeed";
79
+ speedMps: number;
80
+ }
81
+ /** Update the vehicle's home position to a specific coordinate. */
82
+ export interface SetHome {
83
+ $type: "keelson.SetHome";
84
+ position: Coordinate | undefined;
85
+ altitudeM: number;
86
+ }
87
+ /**
88
+ * The mission step the autopilot is currently executing, resolved and
89
+ * published as state (subject `current_mission_item`). Carries the
90
+ * context a bare MissionItem lacks: its position in the mission (`seq`,
91
+ * the index into Mission.items) and the mission length. Published by
92
+ * connectors that hold the active mission (from upload/download);
93
+ * state republication, not a derived value — resolving it requires RPC
94
+ * state no subject carries.
95
+ */
96
+ export interface CurrentMissionItem {
97
+ $type: "keelson.CurrentMissionItem";
98
+ timestamp: Date | undefined;
99
+ /**
100
+ * Index of `item` in the active mission (wire seq numbering, matching
101
+ * upload/download order).
102
+ */
103
+ seq: number;
104
+ /** Number of items in the active mission. */
105
+ totalItems: number;
106
+ /** The resolved step at `seq`. */
107
+ item: MissionItem | undefined;
108
+ }
109
+ export declare const MissionItem: MessageFns<MissionItem, "keelson.MissionItem">;
110
+ export declare const Mission: MessageFns<Mission, "keelson.Mission">;
111
+ export declare const MissionWaypoint: MessageFns<MissionWaypoint, "keelson.MissionWaypoint">;
112
+ export declare const Loiter: MessageFns<Loiter, "keelson.Loiter">;
113
+ export declare const Delay: MessageFns<Delay, "keelson.Delay">;
114
+ export declare const ReturnHome: MessageFns<ReturnHome, "keelson.ReturnHome">;
115
+ export declare const ChangeSpeed: MessageFns<ChangeSpeed, "keelson.ChangeSpeed">;
116
+ export declare const SetHome: MessageFns<SetHome, "keelson.SetHome">;
117
+ export declare const CurrentMissionItem: MessageFns<CurrentMissionItem, "keelson.CurrentMissionItem">;
118
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
119
+ 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 {} ? {
120
+ [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>;
121
+ } : Partial<T>;
122
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
123
+ type Exact<P, I extends P> = P extends Builtin ? P : P & {
124
+ [K in keyof P]: Exact<P[K], I[K]>;
125
+ } & {
126
+ [K in Exclude<keyof I, KeysOfUnion<P> | "$type">]: never;
127
+ };
128
+ interface MessageFns<T, V extends string> {
129
+ readonly $type: V;
130
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
131
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
132
+ fromJSON(object: any): T;
133
+ toJSON(message: T): unknown;
134
+ create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
135
+ fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
136
+ }
137
+ export {};