@wandelbots/nova-js 3.13.0-pr.307.dd54f61 → 3.13.0

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.
@@ -13,6 +13,20 @@ import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
13
13
  declare function buildNatsServerUrl(instanceUrl: string): string;
14
14
  //#endregion
15
15
  //#region src/lib/experimental/nats/generated/types.d.ts
16
+ /**
17
+ * AUTO-GENERATED FILE - DO NOT EDIT.
18
+ * Generated from src/asyncapi.yaml by scripts/generate-nats-client.ts.
19
+ * Run `pnpm generate:nats` to regenerate.
20
+ */
21
+ /**
22
+ * A unique name for the cell used as an identifier for addressing the cell in all API calls.
23
+ * It must be a valid k8s label name as defined by [RFC 1123](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names).
24
+ *
25
+ *
26
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
27
+ * via the `definition` "CellName".
28
+ */
29
+ type CellName = string;
16
30
  /**
17
31
  * A description of the cell.
18
32
  *
@@ -58,6 +72,20 @@ type ContainerEnvironment = {
58
72
  name: string;
59
73
  value: string;
60
74
  }[];
75
+ /**
76
+ * The amount of requested storage capacity.
77
+ *
78
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
79
+ * via the `definition` "Capacity".
80
+ */
81
+ type Capacity = string;
82
+ /**
83
+ * The state of a program run.
84
+ *
85
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
86
+ * via the `definition` "ProgramRunState".
87
+ */
88
+ type ProgramRunState = "PREPARING" | "RUNNING" | "COMPLETED" | "FAILED" | "STOPPED";
61
89
  /**
62
90
  * State of the program run.
63
91
  */
@@ -107,6 +135,25 @@ type Vector3D = [number, number, number];
107
135
  * via the `definition` "RotationVector".
108
136
  */
109
137
  type RotationVector = [number, number, number];
138
+ /**
139
+ * A link chain is a kinematic chain of links that is connected via joints.
140
+ * A motion group can be used to control the motion of the joints in a link chain.
141
+ *
142
+ * A link is a group of colliders that is attached to the link reference frame.
143
+ *
144
+ * The reference frame of a link is obtained after applying all sets of Denavit-Hartenberg-parameters from base to (including) the link index.
145
+ *
146
+ * This means that the reference frame of the link is on the rotation axis of the next joint in the kinematic chain.
147
+ * Example: For a motion group with 2 joints, the collider reference frame (CRF) for link 1 is on the rotation axis of joint 2. The chain looks like:
148
+ * - Origin >> Mounting >> Base >> (CRF Base) Joint 0 >> Link 0 >> (CRF Link 0) Joint 1 >> Link 1 >> (CRF Link 1) Flange (CRF Tool) >> TCP
149
+ *
150
+ * Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
151
+ *
152
+ *
153
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
154
+ * via the `definition` "LinkChain".
155
+ */
156
+ type LinkChain = CollisionMotionGroupLink[];
110
157
  /**
111
158
  * The shape of the motion groups links to validate against colliders.
112
159
  * Indexed along the kinematic chain, starting with a static base shape before first joint.
@@ -134,6 +181,50 @@ type IOValue = IOBooleanValue | IOIntegerValue | IOFloatValue;
134
181
  * via the `definition` "ListIOValuesResponse".
135
182
  */
136
183
  type ListIOValuesResponse = IOValue[];
184
+ /**
185
+ * Defines the current system mode of the robot system, including NOVA communicating with the robot controller.
186
+ *
187
+ * ### MODE_CONTROLLER_NOT_CONFIGURED
188
+ *
189
+ * No controller with the specified identifier is configured. Call [addRobotController](#/operations/addRobotController) to register a controller.
190
+ *
191
+ * ### MODE_INITIALIZING
192
+ *
193
+ * Indicates that a connection to the robot controller is established or reestablished in case of a disconnect.
194
+ * On success, the controller is set to MODE_MONITOR.
195
+ * On failure, the initialization process is retried until successful or cancelled by the user.
196
+ *
197
+ * ### MODE_MONITOR
198
+ *
199
+ * Read-only mode with an active controller connection.
200
+ * - Receives robot state and I/O signals
201
+ * - Move requests are rejected
202
+ * - No commands are sent to the controller
203
+ *
204
+ * ### MODE_CONTROL
205
+ *
206
+ * Active control mode.
207
+ *
208
+ * **Movement is possible in this mode**
209
+ *
210
+ * The robot is cyclically commanded to hold its current position.
211
+ * The robot state is received in sync with the controller cycle.
212
+ * Motion and jogging requests are accepted and executed.
213
+ * Input/Output interaction is enabled.
214
+ *
215
+ * ### MODE_FREE_DRIVE
216
+ *
217
+ * Read-only mode with servo motors enabled for manual movement (Free Drive).
218
+ *
219
+ * Move requests are rejected.
220
+ *
221
+ * Not supported by all robots: Use [getSupportedModes](#/operations/getSupportedModes) to check Free Drive availability.
222
+ *
223
+ *
224
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
225
+ * via the `definition` "RobotSystemMode".
226
+ */
227
+ type RobotSystemMode = "MODE_CONTROLLER_NOT_CONFIGURED" | "MODE_INITIALIZING" | "MODE_MONITOR" | "MODE_CONTROL" | "MODE_FREE_DRIVE";
137
228
  /**
138
229
  * Current operation mode of the configured robot controller.
139
230
  * Operation modes in which the attached motion groups can be moved are:
@@ -160,6 +251,28 @@ type OperationMode = "OPERATION_MODE_UNKNOWN" | "OPERATION_MODE_NO_CONTROLLER" |
160
251
  * via the `definition` "SafetyStateType".
161
252
  */
162
253
  type SafetyStateType = "SAFETY_STATE_UNKNOWN" | "SAFETY_STATE_FAULT" | "SAFETY_STATE_NORMAL" | "SAFETY_STATE_MASTERING" | "SAFETY_STATE_CONFIRM_SAFETY" | "SAFETY_STATE_OPERATOR_SAFETY" | "SAFETY_STATE_PROTECTIVE_STOP" | "SAFETY_STATE_REDUCED" | "SAFETY_STATE_STOP" | "SAFETY_STATE_STOP_0" | "SAFETY_STATE_STOP_1" | "SAFETY_STATE_STOP_2" | "SAFETY_STATE_RECOVERY" | "SAFETY_STATE_DEVICE_EMERGENCY_STOP" | "SAFETY_STATE_ROBOT_EMERGENCY_STOP" | "SAFETY_STATE_VIOLATION";
254
+ /**
255
+ * This structure describes a set of joint values, e.g., positions, currents, torques, of a motion group.
256
+ *
257
+ * Float precision is the default.
258
+ *
259
+ *
260
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
261
+ * via the `definition` "Joints".
262
+ */
263
+ type Joints = number[];
264
+ /**
265
+ * - The location is a scalar value that defines a position along a path, typically ranging from 0 to `n`,
266
+ * where `n` denotes the number of motion commands
267
+ * - Each integer value of the location corresponds to a specific motion command,
268
+ * while non-integer values interpolate positions within the segments.
269
+ * - The location is calculated from the joint path
270
+ *
271
+ *
272
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
273
+ * via the `definition` "Location".
274
+ */
275
+ type Location = number;
163
276
  /**
164
277
  * Current joint position of each joint.
165
278
  * The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
@@ -1122,6 +1235,20 @@ interface ColliderDictionary {
1122
1235
  interface CollisionMotionGroupLink {
1123
1236
  [k: string]: Collider;
1124
1237
  }
1238
+ /**
1239
+ * Defines the shape of a tool.
1240
+ *
1241
+ * A tool is a dictionary of colliders.
1242
+ *
1243
+ * All colliders that make up a tool are attached to the flange frame of the motion group.
1244
+ *
1245
+ *
1246
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1247
+ * via the `definition` "Tool".
1248
+ */
1249
+ interface CollisionMotionGroupTool {
1250
+ [k: string]: Collider;
1251
+ }
1125
1252
  /**
1126
1253
  * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1127
1254
  * via the `definition` "CollisionSetup".
@@ -1259,6 +1386,20 @@ interface StreamIOValuesResponse {
1259
1386
  */
1260
1387
  sequence_number: number;
1261
1388
  }
1389
+ /**
1390
+ * Indicates which joint of the motion group is in a limit.
1391
+ * If a joint is in its limit, only this joint can be moved. Movements that affect any other joints are not executed.
1392
+ *
1393
+ *
1394
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1395
+ * via the `definition` "MotionGroupState_JointLimitReached".
1396
+ */
1397
+ interface MotionGroupState_JointLimitReached {
1398
+ /**
1399
+ * If true, operational (soft) jointLimit is reached for specific joint.
1400
+ */
1401
+ limit_reached: boolean[];
1402
+ }
1262
1403
  /**
1263
1404
  * Jogging is active.
1264
1405
  *
@@ -1437,6 +1578,24 @@ interface TrajectoryDetails {
1437
1578
  */
1438
1579
  kind: "TRAJECTORY";
1439
1580
  }
1581
+ /**
1582
+ * Details about the state of the motion execution.
1583
+ * The details are either for a jogging or a trajectory.
1584
+ * If NOVA is not controlling this motion group at the moment, this field is omitted.
1585
+ *
1586
+ *
1587
+ * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1588
+ * via the `definition` "Execute".
1589
+ */
1590
+ interface Execute {
1591
+ /**
1592
+ * Commanded joint position of each joint. This command was sent in the time step the corresponding state was received.
1593
+ * The unit depends on the type of joint: For revolute joints, the angle is given in [rad]; for prismatic joints, the displacement is given in [mm].
1594
+ *
1595
+ */
1596
+ joint_position: number[];
1597
+ details?: JoggingDetails | TrajectoryDetails;
1598
+ }
1440
1599
  /**
1441
1600
  * Presents the current state of the motion group.
1442
1601
  *
@@ -2006,252 +2165,1016 @@ interface NatsErrorPayload {
2006
2165
  //#region src/lib/experimental/nats/generated/operations.d.ts
2007
2166
  /** Subject parameters required by each NATS subject, e.g. "nova.v2.cells.{cell}". */
2008
2167
  interface NatsOperationParams {
2009
- /** publishCell */
2168
+ /**
2169
+ * Cell Configuration
2170
+ *
2171
+ * Publishes the configuration for a cell.
2172
+ *
2173
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2174
+ *
2175
+ * @operationId publishCell
2176
+ */
2010
2177
  "nova.v2.cells.{cell}": {
2178
+ /**
2179
+ * Unique identifier addressing a cell in all API calls.
2180
+ */
2011
2181
  cell: string;
2012
2182
  };
2013
- /** publishApp */
2183
+ /**
2184
+ * App Configuration
2185
+ *
2186
+ * Publishes the configuration for a GUI application in the cell.
2187
+ *
2188
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2189
+ *
2190
+ * @operationId publishApp
2191
+ */
2014
2192
  "nova.v2.cells.{cell}.apps.{app}": {
2193
+ /**
2194
+ * Unique identifier addressing a cell in all API calls.
2195
+ */
2015
2196
  cell: string;
2197
+ /**
2198
+ * Name of the provided application.
2199
+ * Must be unique within the cell and is used as an identifier for addressing the application in all API calls, e.g., when updating the application.
2200
+ */
2016
2201
  app: string;
2017
2202
  };
2018
- /** publishProgramStatus */
2203
+ /**
2204
+ * Program Status
2205
+ *
2206
+ * Publishes status messages for programs running in an app within a cell.
2207
+ * The status messages provide information about the current state of a program run.
2208
+ *
2209
+ * @operationId publishProgramStatus
2210
+ */
2019
2211
  "nova.v2.cells.{cell}.programs": {
2212
+ /**
2213
+ * Unique identifier addressing a cell in all API calls.
2214
+ */
2020
2215
  cell: string;
2021
2216
  };
2022
- /** publishRobotController */
2217
+ /**
2218
+ * Robot Controller Configuration
2219
+ *
2220
+ * Publishes the configuration of a robot controller.
2221
+ *
2222
+ * @operationId publishRobotController
2223
+ */
2023
2224
  "nova.v2.cells.{cell}.controllers.{controller}": {
2225
+ /**
2226
+ * Unique identifier addressing a cell in all API calls.
2227
+ */
2024
2228
  cell: string;
2229
+ /**
2230
+ * Unique identifier to address a controller in the cell.
2231
+ */
2025
2232
  controller: string;
2026
2233
  };
2027
- /** publishCellStatus */
2234
+ /**
2235
+ * Service Status
2236
+ *
2237
+ * Publishes the status of all cell resources.
2238
+ *
2239
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2240
+ *
2241
+ * @operationId publishCellStatus
2242
+ */
2028
2243
  "nova.v2.cells.{cell}.status": {
2244
+ /**
2245
+ * Unique identifier addressing a cell in all API calls.
2246
+ */
2029
2247
  cell: string;
2030
2248
  };
2031
- /** publishCellCycle */
2249
+ /**
2250
+ * Cell Cycle Event
2251
+ *
2252
+ * Publishes the cycle events for a cell.
2253
+ *
2254
+ * @operationId publishCellCycle
2255
+ */
2032
2256
  "nova.v2.cells.{cell}.cycle": {
2257
+ /**
2258
+ * Unique identifier addressing a cell in all API calls.
2259
+ */
2033
2260
  cell: string;
2034
2261
  };
2035
- /** publishSystemStatus */
2262
+ /**
2263
+ * Wandelbots NOVA status
2264
+ *
2265
+ * Publishes the status of all system services.
2266
+ *
2267
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2268
+ *
2269
+ * @operationId publishSystemStatus
2270
+ */
2036
2271
  "nova.v2.system.status": Record<never, never>;
2037
- /** publishCollisionSetup */
2272
+ /**
2273
+ * Collision Setup
2274
+ *
2275
+ * Publishes the stored collision setup.
2276
+ *
2277
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2278
+ *
2279
+ * @operationId publishCollisionSetup
2280
+ */
2038
2281
  "nova.v2.cells.{cell}.collision.setups.{setup}": {
2282
+ /**
2283
+ * Unique identifier addressing a cell in all API calls.
2284
+ */
2039
2285
  cell: string;
2286
+ /**
2287
+ * Unique identifier addressing a collision setup.
2288
+ */
2040
2289
  setup: string;
2041
2290
  };
2042
- /** publishBUSIOStatus */
2291
+ /**
2292
+ * BUS Inputs/Outputs Service Status
2293
+ *
2294
+ * Publishes the status of BUS inputs/outputs service.
2295
+ *
2296
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`.
2297
+ *
2298
+ * @operationId publishBUSIOStatus
2299
+ */
2043
2300
  "nova.v2.cells.{cell}.bus-ios.status": {
2301
+ /**
2302
+ * Unique identifier addressing a cell in all API calls.
2303
+ */
2044
2304
  cell: string;
2045
2305
  };
2046
- /** publishBUSIOsIOs */
2306
+ /**
2307
+ * BUS Input/Output Values
2308
+ *
2309
+ * Publishes updates of BUS input/output values.
2310
+ *
2311
+ * @operationId publishBUSIOsIOs
2312
+ */
2047
2313
  "nova.v2.cells.{cell}.bus-ios.ios": {
2314
+ /**
2315
+ * Unique identifier addressing a cell in all API calls.
2316
+ */
2048
2317
  cell: string;
2049
2318
  };
2050
- /** setBUSIOsIOs */
2319
+ /**
2320
+ * Set Output Values
2321
+ *
2322
+ * Set output values published with the BUS inputs/outputs service.
2323
+ * If you're using a virtual service, you can set inputs as well.
2324
+ *
2325
+ * @operationId setBUSIOsIOs
2326
+ */
2051
2327
  "nova.v2.cells.{cell}.bus-ios.ios.set": {
2328
+ /**
2329
+ * Unique identifier addressing a cell in all API calls.
2330
+ */
2052
2331
  cell: string;
2053
2332
  };
2054
- /** selectRobotControllerIOs */
2333
+ /**
2334
+ * Select Input/Output Values
2335
+ *
2336
+ * Select input/output values published by the controller.
2337
+ *
2338
+ * @operationId selectRobotControllerIOs
2339
+ */
2055
2340
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": {
2341
+ /**
2342
+ * Unique identifier addressing a cell in all API calls.
2343
+ */
2056
2344
  cell: string;
2345
+ /**
2346
+ * Unique identifier to address a controller in a cell.
2347
+ */
2057
2348
  controller: string;
2058
2349
  };
2059
- /** publishRobotControllerIOs */
2350
+ /**
2351
+ * Input/Output Values
2352
+ *
2353
+ * Publishes updates of input/output values.
2354
+ *
2355
+ * @operationId publishRobotControllerIOs
2356
+ */
2060
2357
  "nova.v2.cells.{cell}.controllers.{controller}.ios": {
2358
+ /**
2359
+ * Unique identifier addressing a cell in all API calls.
2360
+ */
2061
2361
  cell: string;
2362
+ /**
2363
+ * Unique identifier to address a controller in the cell.
2364
+ */
2062
2365
  controller: string;
2063
2366
  };
2064
- /** publishRobotControllersState */
2367
+ /**
2368
+ * State of Robot Controller
2369
+ *
2370
+ * Publishes the current state of a robot controller.
2371
+ *
2372
+ * @operationId publishRobotControllersState
2373
+ */
2065
2374
  "nova.v2.cells.{cell}.controllers.{controller}.state": {
2375
+ /**
2376
+ * Unique identifier addressing a cell in all API calls.
2377
+ */
2066
2378
  cell: string;
2379
+ /**
2380
+ * Unique identifier to address a controller in the cell.
2381
+ */
2067
2382
  controller: string;
2068
2383
  };
2069
- /** publishMotionGroupDescription */
2384
+ /**
2385
+ * Description of Motion Group
2386
+ *
2387
+ * Publishes the description of a motion group, including TCPs, mounting, safety zones, limits, etc.
2388
+ *
2389
+ * @operationId publishMotionGroupDescription
2390
+ */
2070
2391
  "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": {
2392
+ /**
2393
+ * Unique identifier addressing a cell in all API calls.
2394
+ */
2071
2395
  cell: string;
2396
+ /**
2397
+ * Unique identifier addressing a controller in the cell.
2398
+ */
2072
2399
  controller: string;
2400
+ /**
2401
+ * Motion group identifier.
2402
+ */
2073
2403
  "motion-group": string;
2074
2404
  };
2075
- /** eventSystemUpdateStarted */
2405
+ /**
2406
+ * System Update Started
2407
+ *
2408
+ * Publishes an event when a system update process is initiated.
2409
+ *
2410
+ * This event is triggered once the service-manager begins a system update process,
2411
+ * providing details about the update metadata, trigger information, and pre-update checks.
2412
+ *
2413
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2414
+ * for reliable delivery and event replay capabilities.
2415
+ *
2416
+ * @operationId eventSystemUpdateStarted
2417
+ */
2076
2418
  "nova.v2.events.system.update.started": Record<never, never>;
2077
- /** eventSystemUpdateCompleted */
2419
+ /**
2420
+ * System Update Completed
2421
+ *
2422
+ * Publishes an event when a system update process is completed.
2423
+ *
2424
+ * This event is triggered once the service-manager completes a system update process,
2425
+ * providing comprehensive results including success status, component outcomes,
2426
+ * error details, and post-update validation results.
2427
+ *
2428
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2429
+ * for reliable delivery and event replay capabilities.
2430
+ *
2431
+ * @operationId eventSystemUpdateCompleted
2432
+ */
2078
2433
  "nova.v2.events.system.update.completed": Record<never, never>;
2079
- /** eventSystemNetworkStatusChanged */
2434
+ /**
2435
+ * System Network Status Changed
2436
+ *
2437
+ * Publishes an event when a system network status changes.
2438
+ *
2439
+ * This event is triggered once system-info service detects a change in the system network status,
2440
+ * providing details about the new network state and related information.
2441
+ *
2442
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2443
+ * for reliable delivery and event replay capabilities.
2444
+ *
2445
+ * @operationId eventSystemNetworkStatusChanged
2446
+ */
2080
2447
  "nova.v2.events.system.network.status.changed": Record<never, never>;
2081
- /** eventCellCreated */
2448
+ /**
2449
+ * Cell Created
2450
+ *
2451
+ * Publishes an event when a cell foundation release is created.
2452
+ *
2453
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2454
+ *
2455
+ * @operationId eventCellCreated
2456
+ */
2082
2457
  "nova.v2.events.cells.{cell}.created": {
2458
+ /**
2459
+ * Unique identifier addressing a cell in all API calls.
2460
+ */
2083
2461
  cell: string;
2084
2462
  };
2085
- /** eventCellUpdated */
2463
+ /**
2464
+ * Cell Updated
2465
+ *
2466
+ * Publishes an event when a cell foundation release is updated.
2467
+ *
2468
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2469
+ *
2470
+ * @operationId eventCellUpdated
2471
+ */
2086
2472
  "nova.v2.events.cells.{cell}.updated": {
2473
+ /**
2474
+ * Unique identifier addressing a cell in all API calls.
2475
+ */
2087
2476
  cell: string;
2088
2477
  };
2089
- /** eventCellDeleted */
2478
+ /**
2479
+ * Cell Deleted
2480
+ *
2481
+ * Publishes an event when a cell foundation release is deleted.
2482
+ *
2483
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2484
+ *
2485
+ * @operationId eventCellDeleted
2486
+ */
2090
2487
  "nova.v2.events.cells.{cell}.deleted": {
2488
+ /**
2489
+ * Unique identifier addressing a cell in all API calls.
2490
+ */
2091
2491
  cell: string;
2092
2492
  };
2093
- /** eventAppCreated */
2493
+ /**
2494
+ * App Created
2495
+ *
2496
+ * Publishes an event when an app release is created in a cell.
2497
+ *
2498
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2499
+ *
2500
+ * @operationId eventAppCreated
2501
+ */
2094
2502
  "nova.v2.events.cells.{cell}.apps.{app}.created": {
2503
+ /**
2504
+ * Unique identifier addressing a cell in all API calls.
2505
+ */
2095
2506
  cell: string;
2507
+ /**
2508
+ * Unique identifier addressing an app in the cell.
2509
+ */
2096
2510
  app: string;
2097
2511
  };
2098
- /** eventAppUpdated */
2512
+ /**
2513
+ * App Updated
2514
+ *
2515
+ * Publishes an event when an app release is updated in a cell.
2516
+ *
2517
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2518
+ *
2519
+ * @operationId eventAppUpdated
2520
+ */
2099
2521
  "nova.v2.events.cells.{cell}.apps.{app}.updated": {
2522
+ /**
2523
+ * Unique identifier addressing a cell in all API calls.
2524
+ */
2100
2525
  cell: string;
2526
+ /**
2527
+ * Unique identifier addressing an app in the cell.
2528
+ */
2101
2529
  app: string;
2102
2530
  };
2103
- /** eventAppDeleted */
2104
- "nova.v2.events.cells.{cell}.apps.{app}.deleted": {
2105
- cell: string;
2106
- app: string;
2531
+ /**
2532
+ * App Deleted
2533
+ *
2534
+ * Publishes an event when an app release is deleted from a cell.
2535
+ *
2536
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2537
+ *
2538
+ * @operationId eventAppDeleted
2539
+ */
2540
+ "nova.v2.events.cells.{cell}.apps.{app}.deleted": {
2541
+ /**
2542
+ * Unique identifier addressing a cell in all API calls.
2543
+ */
2544
+ cell: string;
2545
+ /**
2546
+ * Unique identifier addressing an app in the cell.
2547
+ */
2548
+ app: string;
2107
2549
  };
2108
- /** eventRobotControllerCreated */
2550
+ /**
2551
+ * Robot Controller Created
2552
+ *
2553
+ * Publishes an event when a robot controller release is created in a cell.
2554
+ *
2555
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2556
+ *
2557
+ * @operationId eventRobotControllerCreated
2558
+ */
2109
2559
  "nova.v2.events.cells.{cell}.controllers.{controller}.created": {
2560
+ /**
2561
+ * Unique identifier addressing a cell in all API calls.
2562
+ */
2110
2563
  cell: string;
2564
+ /**
2565
+ * Unique identifier to address a controller in the cell.
2566
+ */
2111
2567
  controller: string;
2112
2568
  };
2113
- /** eventRobotControllerUpdated */
2569
+ /**
2570
+ * Robot Controller Updated
2571
+ *
2572
+ * Publishes an event when a robot controller release is updated in a cell.
2573
+ *
2574
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2575
+ *
2576
+ * @operationId eventRobotControllerUpdated
2577
+ */
2114
2578
  "nova.v2.events.cells.{cell}.controllers.{controller}.updated": {
2579
+ /**
2580
+ * Unique identifier addressing a cell in all API calls.
2581
+ */
2115
2582
  cell: string;
2583
+ /**
2584
+ * Unique identifier to address a controller in the cell.
2585
+ */
2116
2586
  controller: string;
2117
2587
  };
2118
- /** eventRobotControllerDeleted */
2588
+ /**
2589
+ * Robot Controller Deleted
2590
+ *
2591
+ * Publishes an event when a robot controller release is deleted from a cell.
2592
+ *
2593
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2594
+ *
2595
+ * @operationId eventRobotControllerDeleted
2596
+ */
2119
2597
  "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": {
2598
+ /**
2599
+ * Unique identifier addressing a cell in all API calls.
2600
+ */
2120
2601
  cell: string;
2602
+ /**
2603
+ * Unique identifier to address a controller in the cell.
2604
+ */
2121
2605
  controller: string;
2122
2606
  };
2123
2607
  }
2124
2608
  /** Payload types for subjects the server publishes and the client subscribes to. */
2125
2609
  interface NatsSubscribePayloads {
2126
- /** publishCell */
2610
+ /**
2611
+ * Cell Configuration
2612
+ *
2613
+ * Publishes the configuration for a cell.
2614
+ *
2615
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2616
+ *
2617
+ * @operationId publishCell
2618
+ */
2127
2619
  "nova.v2.cells.{cell}": Cell;
2128
- /** publishApp */
2620
+ /**
2621
+ * App Configuration
2622
+ *
2623
+ * Publishes the configuration for a GUI application in the cell.
2624
+ *
2625
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2626
+ *
2627
+ * @operationId publishApp
2628
+ */
2129
2629
  "nova.v2.cells.{cell}.apps.{app}": App;
2130
- /** publishProgramStatus */
2630
+ /**
2631
+ * Program Status
2632
+ *
2633
+ * Publishes status messages for programs running in an app within a cell.
2634
+ * The status messages provide information about the current state of a program run.
2635
+ *
2636
+ * @operationId publishProgramStatus
2637
+ */
2131
2638
  "nova.v2.cells.{cell}.programs": ProgramStatus;
2132
- /** publishRobotController */
2639
+ /**
2640
+ * Robot Controller Configuration
2641
+ *
2642
+ * Publishes the configuration of a robot controller.
2643
+ *
2644
+ * @operationId publishRobotController
2645
+ */
2133
2646
  "nova.v2.cells.{cell}.controllers.{controller}": RobotController;
2134
- /** publishCellStatus */
2647
+ /**
2648
+ * Service Status
2649
+ *
2650
+ * Publishes the status of all cell resources.
2651
+ *
2652
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2653
+ *
2654
+ * @operationId publishCellStatus
2655
+ */
2135
2656
  "nova.v2.cells.{cell}.status": ServiceStatusList;
2136
- /** publishCellCycle */
2657
+ /**
2658
+ * Cell Cycle Event
2659
+ *
2660
+ * Publishes the cycle events for a cell.
2661
+ *
2662
+ * @operationId publishCellCycle
2663
+ */
2137
2664
  "nova.v2.cells.{cell}.cycle": CellCycleEvent;
2138
- /** publishSystemStatus */
2665
+ /**
2666
+ * Wandelbots NOVA status
2667
+ *
2668
+ * Publishes the status of all system services.
2669
+ *
2670
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2671
+ *
2672
+ * @operationId publishSystemStatus
2673
+ */
2139
2674
  "nova.v2.system.status": ServiceStatusList;
2140
- /** publishCollisionSetup */
2675
+ /**
2676
+ * Collision Setup
2677
+ *
2678
+ * Publishes the stored collision setup.
2679
+ *
2680
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2681
+ *
2682
+ * @operationId publishCollisionSetup
2683
+ */
2141
2684
  "nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
2142
- /** publishBUSIOStatus */
2685
+ /**
2686
+ * BUS Inputs/Outputs Service Status
2687
+ *
2688
+ * Publishes the status of BUS inputs/outputs service.
2689
+ *
2690
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`.
2691
+ *
2692
+ * @operationId publishBUSIOStatus
2693
+ */
2143
2694
  "nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
2144
- /** publishBUSIOsIOs */
2695
+ /**
2696
+ * BUS Input/Output Values
2697
+ *
2698
+ * Publishes updates of BUS input/output values.
2699
+ *
2700
+ * @operationId publishBUSIOsIOs
2701
+ */
2145
2702
  "nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
2146
- /** publishRobotControllerIOs */
2703
+ /**
2704
+ * Input/Output Values
2705
+ *
2706
+ * Publishes updates of input/output values.
2707
+ *
2708
+ * @operationId publishRobotControllerIOs
2709
+ */
2147
2710
  "nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
2148
- /** publishRobotControllersState */
2711
+ /**
2712
+ * State of Robot Controller
2713
+ *
2714
+ * Publishes the current state of a robot controller.
2715
+ *
2716
+ * @operationId publishRobotControllersState
2717
+ */
2149
2718
  "nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
2150
- /** publishMotionGroupDescription */
2719
+ /**
2720
+ * Description of Motion Group
2721
+ *
2722
+ * Publishes the description of a motion group, including TCPs, mounting, safety zones, limits, etc.
2723
+ *
2724
+ * @operationId publishMotionGroupDescription
2725
+ */
2151
2726
  "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
2152
- /** eventSystemUpdateStarted */
2727
+ /**
2728
+ * System Update Started
2729
+ *
2730
+ * Publishes an event when a system update process is initiated.
2731
+ *
2732
+ * This event is triggered once the service-manager begins a system update process,
2733
+ * providing details about the update metadata, trigger information, and pre-update checks.
2734
+ *
2735
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2736
+ * for reliable delivery and event replay capabilities.
2737
+ *
2738
+ * @operationId eventSystemUpdateStarted
2739
+ */
2153
2740
  "nova.v2.events.system.update.started": SystemUpdateStartedEvent;
2154
- /** eventSystemUpdateCompleted */
2741
+ /**
2742
+ * System Update Completed
2743
+ *
2744
+ * Publishes an event when a system update process is completed.
2745
+ *
2746
+ * This event is triggered once the service-manager completes a system update process,
2747
+ * providing comprehensive results including success status, component outcomes,
2748
+ * error details, and post-update validation results.
2749
+ *
2750
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2751
+ * for reliable delivery and event replay capabilities.
2752
+ *
2753
+ * @operationId eventSystemUpdateCompleted
2754
+ */
2155
2755
  "nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
2156
- /** eventSystemNetworkStatusChanged */
2756
+ /**
2757
+ * System Network Status Changed
2758
+ *
2759
+ * Publishes an event when a system network status changes.
2760
+ *
2761
+ * This event is triggered once system-info service detects a change in the system network status,
2762
+ * providing details about the new network state and related information.
2763
+ *
2764
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
2765
+ * for reliable delivery and event replay capabilities.
2766
+ *
2767
+ * @operationId eventSystemNetworkStatusChanged
2768
+ */
2157
2769
  "nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
2158
- /** eventCellCreated */
2770
+ /**
2771
+ * Cell Created
2772
+ *
2773
+ * Publishes an event when a cell foundation release is created.
2774
+ *
2775
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2776
+ *
2777
+ * @operationId eventCellCreated
2778
+ */
2159
2779
  "nova.v2.events.cells.{cell}.created": CellCreatedEvent;
2160
- /** eventCellUpdated */
2780
+ /**
2781
+ * Cell Updated
2782
+ *
2783
+ * Publishes an event when a cell foundation release is updated.
2784
+ *
2785
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2786
+ *
2787
+ * @operationId eventCellUpdated
2788
+ */
2161
2789
  "nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
2162
- /** eventCellDeleted */
2790
+ /**
2791
+ * Cell Deleted
2792
+ *
2793
+ * Publishes an event when a cell foundation release is deleted.
2794
+ *
2795
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2796
+ *
2797
+ * @operationId eventCellDeleted
2798
+ */
2163
2799
  "nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
2164
- /** eventAppCreated */
2800
+ /**
2801
+ * App Created
2802
+ *
2803
+ * Publishes an event when an app release is created in a cell.
2804
+ *
2805
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2806
+ *
2807
+ * @operationId eventAppCreated
2808
+ */
2165
2809
  "nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
2166
- /** eventAppUpdated */
2810
+ /**
2811
+ * App Updated
2812
+ *
2813
+ * Publishes an event when an app release is updated in a cell.
2814
+ *
2815
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2816
+ *
2817
+ * @operationId eventAppUpdated
2818
+ */
2167
2819
  "nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
2168
- /** eventAppDeleted */
2820
+ /**
2821
+ * App Deleted
2822
+ *
2823
+ * Publishes an event when an app release is deleted from a cell.
2824
+ *
2825
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2826
+ *
2827
+ * @operationId eventAppDeleted
2828
+ */
2169
2829
  "nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
2170
- /** eventRobotControllerCreated */
2830
+ /**
2831
+ * Robot Controller Created
2832
+ *
2833
+ * Publishes an event when a robot controller release is created in a cell.
2834
+ *
2835
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2836
+ *
2837
+ * @operationId eventRobotControllerCreated
2838
+ */
2171
2839
  "nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
2172
- /** eventRobotControllerUpdated */
2840
+ /**
2841
+ * Robot Controller Updated
2842
+ *
2843
+ * Publishes an event when a robot controller release is updated in a cell.
2844
+ *
2845
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2846
+ *
2847
+ * @operationId eventRobotControllerUpdated
2848
+ */
2173
2849
  "nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
2174
- /** eventRobotControllerDeleted */
2850
+ /**
2851
+ * Robot Controller Deleted
2852
+ *
2853
+ * Publishes an event when a robot controller release is deleted from a cell.
2854
+ *
2855
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
2856
+ *
2857
+ * @operationId eventRobotControllerDeleted
2858
+ */
2175
2859
  "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
2176
2860
  }
2177
2861
  type NatsSubscribeSubject = keyof NatsSubscribePayloads;
2178
2862
  /** Request payload types for subjects the client sends requests to. */
2179
2863
  interface NatsRequestPayloads {
2180
- /** setBUSIOsIOs */
2864
+ /**
2865
+ * Set Output Values
2866
+ *
2867
+ * Set output values published with the BUS inputs/outputs service.
2868
+ * If you're using a virtual service, you can set inputs as well.
2869
+ *
2870
+ * @operationId setBUSIOsIOs
2871
+ */
2181
2872
  "nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
2182
- /** selectRobotControllerIOs */
2873
+ /**
2874
+ * Select Input/Output Values
2875
+ *
2876
+ * Select input/output values published by the controller.
2877
+ *
2878
+ * @operationId selectRobotControllerIOs
2879
+ */
2183
2880
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
2184
2881
  }
2185
2882
  /** Reply payload types for request/reply subjects. */
2186
2883
  interface NatsReplyPayloads {
2187
- /** setBUSIOsIOs */
2884
+ /**
2885
+ * Set Output Values
2886
+ *
2887
+ * Set output values published with the BUS inputs/outputs service.
2888
+ * If you're using a virtual service, you can set inputs as well.
2889
+ *
2890
+ * @operationId setBUSIOsIOs
2891
+ */
2188
2892
  "nova.v2.cells.{cell}.bus-ios.ios.set": NatsErrorPayload;
2189
- /** selectRobotControllerIOs */
2893
+ /**
2894
+ * Select Input/Output Values
2895
+ *
2896
+ * Select input/output values published by the controller.
2897
+ *
2898
+ * @operationId selectRobotControllerIOs
2899
+ */
2190
2900
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": NatsErrorPayload;
2191
2901
  }
2192
2902
  type NatsRequestSubject = keyof NatsRequestPayloads;
2193
2903
  /** Payload types for every subject defined in the spec, publishable via NovaNatsClient#publish. */
2194
2904
  interface NatsPublishPayloads {
2195
- /** publishCell */
2905
+ /**
2906
+ * Cell Configuration
2907
+ *
2908
+ * Publishes the configuration for a cell.
2909
+ *
2910
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2911
+ *
2912
+ * @operationId publishCell
2913
+ */
2196
2914
  "nova.v2.cells.{cell}": Cell;
2197
- /** publishApp */
2915
+ /**
2916
+ * App Configuration
2917
+ *
2918
+ * Publishes the configuration for a GUI application in the cell.
2919
+ *
2920
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2921
+ *
2922
+ * @operationId publishApp
2923
+ */
2198
2924
  "nova.v2.cells.{cell}.apps.{app}": App;
2199
- /** publishProgramStatus */
2925
+ /**
2926
+ * Program Status
2927
+ *
2928
+ * Publishes status messages for programs running in an app within a cell.
2929
+ * The status messages provide information about the current state of a program run.
2930
+ *
2931
+ * @operationId publishProgramStatus
2932
+ */
2200
2933
  "nova.v2.cells.{cell}.programs": ProgramStatus;
2201
- /** publishRobotController */
2934
+ /**
2935
+ * Robot Controller Configuration
2936
+ *
2937
+ * Publishes the configuration of a robot controller.
2938
+ *
2939
+ * @operationId publishRobotController
2940
+ */
2202
2941
  "nova.v2.cells.{cell}.controllers.{controller}": RobotController;
2203
- /** publishCellStatus */
2942
+ /**
2943
+ * Service Status
2944
+ *
2945
+ * Publishes the status of all cell resources.
2946
+ *
2947
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2948
+ *
2949
+ * @operationId publishCellStatus
2950
+ */
2204
2951
  "nova.v2.cells.{cell}.status": ServiceStatusList;
2205
- /** publishCellCycle */
2952
+ /**
2953
+ * Cell Cycle Event
2954
+ *
2955
+ * Publishes the cycle events for a cell.
2956
+ *
2957
+ * @operationId publishCellCycle
2958
+ */
2206
2959
  "nova.v2.cells.{cell}.cycle": CellCycleEvent;
2207
- /** publishSystemStatus */
2960
+ /**
2961
+ * Wandelbots NOVA status
2962
+ *
2963
+ * Publishes the status of all system services.
2964
+ *
2965
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2966
+ *
2967
+ * @operationId publishSystemStatus
2968
+ */
2208
2969
  "nova.v2.system.status": ServiceStatusList;
2209
- /** publishCollisionSetup */
2970
+ /**
2971
+ * Collision Setup
2972
+ *
2973
+ * Publishes the stored collision setup.
2974
+ *
2975
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`
2976
+ *
2977
+ * @operationId publishCollisionSetup
2978
+ */
2210
2979
  "nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
2211
- /** publishBUSIOStatus */
2980
+ /**
2981
+ * BUS Inputs/Outputs Service Status
2982
+ *
2983
+ * Publishes the status of BUS inputs/outputs service.
2984
+ *
2985
+ * The latest status message is persisted NATS JetStream, documented in `x-nats-jetstream-stream`.
2986
+ *
2987
+ * @operationId publishBUSIOStatus
2988
+ */
2212
2989
  "nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
2213
- /** publishBUSIOsIOs */
2990
+ /**
2991
+ * BUS Input/Output Values
2992
+ *
2993
+ * Publishes updates of BUS input/output values.
2994
+ *
2995
+ * @operationId publishBUSIOsIOs
2996
+ */
2214
2997
  "nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
2215
- /** setBUSIOsIOs */
2998
+ /**
2999
+ * Set Output Values
3000
+ *
3001
+ * Set output values published with the BUS inputs/outputs service.
3002
+ * If you're using a virtual service, you can set inputs as well.
3003
+ *
3004
+ * @operationId setBUSIOsIOs
3005
+ */
2216
3006
  "nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
2217
- /** selectRobotControllerIOs */
3007
+ /**
3008
+ * Select Input/Output Values
3009
+ *
3010
+ * Select input/output values published by the controller.
3011
+ *
3012
+ * @operationId selectRobotControllerIOs
3013
+ */
2218
3014
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
2219
- /** publishRobotControllerIOs */
3015
+ /**
3016
+ * Input/Output Values
3017
+ *
3018
+ * Publishes updates of input/output values.
3019
+ *
3020
+ * @operationId publishRobotControllerIOs
3021
+ */
2220
3022
  "nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
2221
- /** publishRobotControllersState */
3023
+ /**
3024
+ * State of Robot Controller
3025
+ *
3026
+ * Publishes the current state of a robot controller.
3027
+ *
3028
+ * @operationId publishRobotControllersState
3029
+ */
2222
3030
  "nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
2223
- /** publishMotionGroupDescription */
3031
+ /**
3032
+ * Description of Motion Group
3033
+ *
3034
+ * Publishes the description of a motion group, including TCPs, mounting, safety zones, limits, etc.
3035
+ *
3036
+ * @operationId publishMotionGroupDescription
3037
+ */
2224
3038
  "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
2225
- /** eventSystemUpdateStarted */
3039
+ /**
3040
+ * System Update Started
3041
+ *
3042
+ * Publishes an event when a system update process is initiated.
3043
+ *
3044
+ * This event is triggered once the service-manager begins a system update process,
3045
+ * providing details about the update metadata, trigger information, and pre-update checks.
3046
+ *
3047
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
3048
+ * for reliable delivery and event replay capabilities.
3049
+ *
3050
+ * @operationId eventSystemUpdateStarted
3051
+ */
2226
3052
  "nova.v2.events.system.update.started": SystemUpdateStartedEvent;
2227
- /** eventSystemUpdateCompleted */
3053
+ /**
3054
+ * System Update Completed
3055
+ *
3056
+ * Publishes an event when a system update process is completed.
3057
+ *
3058
+ * This event is triggered once the service-manager completes a system update process,
3059
+ * providing comprehensive results including success status, component outcomes,
3060
+ * error details, and post-update validation results.
3061
+ *
3062
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
3063
+ * for reliable delivery and event replay capabilities.
3064
+ *
3065
+ * @operationId eventSystemUpdateCompleted
3066
+ */
2228
3067
  "nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
2229
- /** eventSystemNetworkStatusChanged */
3068
+ /**
3069
+ * System Network Status Changed
3070
+ *
3071
+ * Publishes an event when a system network status changes.
3072
+ *
3073
+ * This event is triggered once system-info service detects a change in the system network status,
3074
+ * providing details about the new network state and related information.
3075
+ *
3076
+ * The event follows CloudEvents v1.0 specification and is persisted in NATS JetStream
3077
+ * for reliable delivery and event replay capabilities.
3078
+ *
3079
+ * @operationId eventSystemNetworkStatusChanged
3080
+ */
2230
3081
  "nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
2231
- /** eventCellCreated */
3082
+ /**
3083
+ * Cell Created
3084
+ *
3085
+ * Publishes an event when a cell foundation release is created.
3086
+ *
3087
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3088
+ *
3089
+ * @operationId eventCellCreated
3090
+ */
2232
3091
  "nova.v2.events.cells.{cell}.created": CellCreatedEvent;
2233
- /** eventCellUpdated */
3092
+ /**
3093
+ * Cell Updated
3094
+ *
3095
+ * Publishes an event when a cell foundation release is updated.
3096
+ *
3097
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3098
+ *
3099
+ * @operationId eventCellUpdated
3100
+ */
2234
3101
  "nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
2235
- /** eventCellDeleted */
3102
+ /**
3103
+ * Cell Deleted
3104
+ *
3105
+ * Publishes an event when a cell foundation release is deleted.
3106
+ *
3107
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3108
+ *
3109
+ * @operationId eventCellDeleted
3110
+ */
2236
3111
  "nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
2237
- /** eventAppCreated */
3112
+ /**
3113
+ * App Created
3114
+ *
3115
+ * Publishes an event when an app release is created in a cell.
3116
+ *
3117
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3118
+ *
3119
+ * @operationId eventAppCreated
3120
+ */
2238
3121
  "nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
2239
- /** eventAppUpdated */
3122
+ /**
3123
+ * App Updated
3124
+ *
3125
+ * Publishes an event when an app release is updated in a cell.
3126
+ *
3127
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3128
+ *
3129
+ * @operationId eventAppUpdated
3130
+ */
2240
3131
  "nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
2241
- /** eventAppDeleted */
3132
+ /**
3133
+ * App Deleted
3134
+ *
3135
+ * Publishes an event when an app release is deleted from a cell.
3136
+ *
3137
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3138
+ *
3139
+ * @operationId eventAppDeleted
3140
+ */
2242
3141
  "nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
2243
- /** eventRobotControllerCreated */
3142
+ /**
3143
+ * Robot Controller Created
3144
+ *
3145
+ * Publishes an event when a robot controller release is created in a cell.
3146
+ *
3147
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3148
+ *
3149
+ * @operationId eventRobotControllerCreated
3150
+ */
2244
3151
  "nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
2245
- /** eventRobotControllerUpdated */
3152
+ /**
3153
+ * Robot Controller Updated
3154
+ *
3155
+ * Publishes an event when a robot controller release is updated in a cell.
3156
+ *
3157
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3158
+ *
3159
+ * @operationId eventRobotControllerUpdated
3160
+ */
2246
3161
  "nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
2247
- /** eventRobotControllerDeleted */
3162
+ /**
3163
+ * Robot Controller Deleted
3164
+ *
3165
+ * Publishes an event when a robot controller release is deleted from a cell.
3166
+ *
3167
+ * The event follows CloudEvents v1.0 and is persisted in NATS JetStream for reliable delivery and replay capabilities.
3168
+ *
3169
+ * @operationId eventRobotControllerDeleted
3170
+ */
2248
3171
  "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
2249
3172
  }
2250
3173
  type NatsPublishSubject = keyof NatsPublishPayloads;
2251
3174
  //#endregion
2252
3175
  //#region src/lib/experimental/nats/NovaNatsClient.d.ts
2253
3176
  type NovaNatsClientConfig = ConnectionOptions;
2254
- type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void;
3177
+ type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void | Promise<void>;
2255
3178
  type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
2256
3179
  /**
2257
3180
  * Typed NATS client for the Wandelbots NOVA messaging API, generated from
@@ -2279,6 +3202,10 @@ declare class NovaNatsClient {
2279
3202
  * `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
2280
3203
  * `params`.
2281
3204
  *
3205
+ * Errors decoding a message or thrown/rejected by `handler` are caught and
3206
+ * logged per-message, so one bad message doesn't stop later messages on
3207
+ * the same subscription from being handled.
3208
+ *
2282
3209
  * Returns a function that unsubscribes when called.
2283
3210
  */
2284
3211
  subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
@@ -2304,5 +3231,5 @@ declare class NovaNatsClient {
2304
3231
  publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
2305
3232
  }
2306
3233
  //#endregion
2307
- export { type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig, buildNatsServerUrl };
3234
+ export { type AbbController, type AddVirtualControllerMotionGroupRequest, type App, type AppCreatedEvent, type AppDeletedEvent, type AppEventData, type AppUpdatedEvent, type Box, type BusIOsState, type BusIOsStateEnum, type Capacity, type Capsule, type CartesianLimits, type Cell, type CellCreatedEvent, type CellCycleEvent, type CellDeletedEvent, type CellDescription, type CellEventData, type CellName, type CellUpdatedEvent, type CloudEvent, type Collider, type ColliderDictionary, type ColliderDictionary1, type ColliderDictionary2, type CollisionMotionGroupLink, type CollisionMotionGroupTool, type CollisionMotionGroupTool1, type CollisionSetup, type ContainerEnvironment, type ContainerImage, type ContainerResources, type ContainerStorage, type ControllerNetworkInterface, type ConvexHull, type Cylinder, type DHParameter, type Execute, type Execute1, type FanucController, type IOBooleanValue, type IOFloatValue, type IOIntegerValue, type IOValue, type ImageCredentials, type JoggingDetails, type JoggingPausedByUser, type JoggingPausedNearCollision, type JoggingPausedNearJointLimit, type JoggingPausedNearSingularity, type JoggingPausedOnIO, type JoggingRunning, type JointLimits, type JointTypeEnum, type Joints, type Joints1, type Joints2, type Joints3, type KukaController, type LimitRange, type LimitSet, type LinkChain, type LinkChain1, type ListIOValuesResponse, type Location, type Manufacturer, type MotionGroupDescription, type MotionGroupFromJSON, type MotionGroupFromModel, type MotionGroupModel, type MotionGroupState, type MotionGroupState1, type MotionGroupState_JointLimitReached, type MotionGroupState_JointLimitReached1, type NatsErrorPayload, type NatsOperationParams, type NatsPublishPayloads, type NatsPublishSubject, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, type NetworkState, type NetworkStatusChangedEvent, NovaNatsClient, type NovaNatsClientConfig, type OperatingState, type OperationLimits, type OperationMode, type Payload, type PayloadDictionary, type Plane, type Pose, type Pose1, type Pose2, type Pose3, type Pose4, type Pose5, type ProgramRunState, type ProgramRunState1, type ProgramStatus, type Rectangle, type RectangularCapsule, type RobotController, type RobotControllerCreatedEvent, type RobotControllerDeletedEvent, type RobotControllerEventData, type RobotControllerState, type RobotControllerUpdatedEvent, type RobotSystemMode, type RotationVector, type SafetyStateType, type SafetyToolColliders, type SelectIOs, type ServiceGroup, type ServiceStatus, type ServiceStatusList, type ServiceStatusPhase, type ServiceStatusSeverity, type Sphere, type StreamIOValuesResponse, type SystemUpdateCompletedEvent, type SystemUpdateStartedEvent, type TcpOffset, type TcpOffsetDictionary, type TrajectoryDetails, type TrajectoryEnded, type TrajectoryPausedByUser, type TrajectoryPausedOnIO, type TrajectoryRunning, type TrajectoryWaitForIO, type UniversalrobotsController, type Vector3D, type Vector3D1, type Vector3D2, type VirtualController, type YaskawaController, buildNatsServerUrl };
2308
3235
  //# sourceMappingURL=index.d.mts.map