@wandelbots/nova-js 3.13.0-pr.307.a847bf7 → 3.13.0-pr.307.ea0533d

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 (45) hide show
  1. package/dist/{context-ffr5Q2dc.mjs → context-CmXqEEwW.mjs} +86 -3
  2. package/dist/context-CmXqEEwW.mjs.map +1 -0
  3. package/dist/{context-BZELA2eh.cjs → context-Cu5mXcFZ.cjs} +146 -3
  4. package/dist/context-Cu5mXcFZ.cjs.map +1 -0
  5. package/dist/experimental/nats/index.cjs +17 -96
  6. package/dist/experimental/nats/index.cjs.map +1 -1
  7. package/dist/experimental/nats/index.d.cts +66 -1078
  8. package/dist/experimental/nats/index.d.cts.map +1 -1
  9. package/dist/experimental/nats/index.d.mts +66 -1078
  10. package/dist/experimental/nats/index.d.mts.map +1 -1
  11. package/dist/experimental/nats/index.mjs +18 -96
  12. package/dist/experimental/nats/index.mjs.map +1 -1
  13. package/dist/index.cjs +12 -13
  14. package/dist/index.mjs +2 -3
  15. package/dist/v1/index.cjs +3 -3
  16. package/dist/v1/index.cjs.map +1 -1
  17. package/dist/v1/index.mjs +2 -2
  18. package/dist/v2/index.cjs +3 -4
  19. package/dist/v2/index.cjs.map +1 -1
  20. package/dist/v2/index.d.cts +83 -5
  21. package/dist/v2/index.d.cts.map +1 -1
  22. package/dist/v2/index.d.mts +82 -4
  23. package/dist/v2/index.d.mts.map +1 -1
  24. package/dist/v2/index.mjs +1 -2
  25. package/dist/v2/index.mjs.map +1 -1
  26. package/dist/{wandelscriptUtils-DcY1aLWu.cjs → wandelscriptUtils-BdqeVDCY.cjs} +12 -13
  27. package/dist/{wandelscriptUtils-DcY1aLWu.cjs.map → wandelscriptUtils-BdqeVDCY.cjs.map} +1 -1
  28. package/dist/{wandelscriptUtils-CpUXdLVc.mjs → wandelscriptUtils-CKhiZJsB.mjs} +2 -3
  29. package/dist/{wandelscriptUtils-CpUXdLVc.mjs.map → wandelscriptUtils-CKhiZJsB.mjs.map} +1 -1
  30. package/package.json +3 -1
  31. package/src/experimental/nats/index.ts +0 -7
  32. package/src/lib/experimental/nats/NovaNatsClient.ts +15 -86
  33. package/src/lib/experimental/nats/buildSubject.ts +5 -53
  34. package/src/lib/experimental/nats/generated/operations.ts +71 -918
  35. package/dist/Nova--8gozkLR.d.mts +0 -85
  36. package/dist/Nova--8gozkLR.d.mts.map +0 -1
  37. package/dist/Nova-B1o5iTQ6.d.cts +0 -85
  38. package/dist/Nova-B1o5iTQ6.d.cts.map +0 -1
  39. package/dist/context-BZELA2eh.cjs.map +0 -1
  40. package/dist/context-ffr5Q2dc.mjs.map +0 -1
  41. package/dist/converters-DnG1fX23.mjs +0 -87
  42. package/dist/converters-DnG1fX23.mjs.map +0 -1
  43. package/dist/converters-EYS27XJE.cjs +0 -146
  44. package/dist/converters-EYS27XJE.cjs.map +0 -1
  45. package/src/lib/experimental/nats/buildNatsServerUrl.ts +0 -15
@@ -1,32 +1,6 @@
1
- import { t as Nova } from "../../Nova-B1o5iTQ6.cjs";
2
1
  import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
3
2
 
4
- //#region src/lib/experimental/nats/buildNatsServerUrl.d.ts
5
- /**
6
- * Builds the WebSocket URL for a NOVA instance's NATS gateway from its
7
- * instance URL, e.g. `https://foo.instance.wandelbots.io` becomes
8
- * `wss://foo.instance.wandelbots.io/api/nats`.
9
- *
10
- * Pass the result as `servers` in the `NovaNatsClientConfig` passed to
11
- * `NovaNatsClient`.
12
- */
13
- declare function buildNatsServerUrl(instanceUrl: string): string;
14
- //#endregion
15
3
  //#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;
30
4
  /**
31
5
  * A description of the cell.
32
6
  *
@@ -72,20 +46,6 @@ type ContainerEnvironment = {
72
46
  name: string;
73
47
  value: string;
74
48
  }[];
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";
89
49
  /**
90
50
  * State of the program run.
91
51
  */
@@ -135,25 +95,6 @@ type Vector3D = [number, number, number];
135
95
  * via the `definition` "RotationVector".
136
96
  */
137
97
  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[];
157
98
  /**
158
99
  * The shape of the motion groups links to validate against colliders.
159
100
  * Indexed along the kinematic chain, starting with a static base shape before first joint.
@@ -181,50 +122,6 @@ type IOValue = IOBooleanValue | IOIntegerValue | IOFloatValue;
181
122
  * via the `definition` "ListIOValuesResponse".
182
123
  */
183
124
  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";
228
125
  /**
229
126
  * Current operation mode of the configured robot controller.
230
127
  * Operation modes in which the attached motion groups can be moved are:
@@ -251,28 +148,6 @@ type OperationMode = "OPERATION_MODE_UNKNOWN" | "OPERATION_MODE_NO_CONTROLLER" |
251
148
  * via the `definition` "SafetyStateType".
252
149
  */
253
150
  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;
276
151
  /**
277
152
  * Current joint position of each joint.
278
153
  * 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].
@@ -1235,20 +1110,6 @@ interface ColliderDictionary {
1235
1110
  interface CollisionMotionGroupLink {
1236
1111
  [k: string]: Collider;
1237
1112
  }
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
- }
1252
1113
  /**
1253
1114
  * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1254
1115
  * via the `definition` "CollisionSetup".
@@ -1386,20 +1247,6 @@ interface StreamIOValuesResponse {
1386
1247
  */
1387
1248
  sequence_number: number;
1388
1249
  }
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
- }
1403
1250
  /**
1404
1251
  * Jogging is active.
1405
1252
  *
@@ -1578,24 +1425,6 @@ interface TrajectoryDetails {
1578
1425
  */
1579
1426
  kind: "TRAJECTORY";
1580
1427
  }
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
- }
1599
1428
  /**
1600
1429
  * Presents the current state of the motion group.
1601
1430
  *
@@ -2165,1017 +1994,193 @@ interface NatsErrorPayload {
2165
1994
  //#region src/lib/experimental/nats/generated/operations.d.ts
2166
1995
  /** Subject parameters required by each NATS subject, e.g. "nova.v2.cells.{cell}". */
2167
1996
  interface NatsOperationParams {
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
- */
1997
+ /** publishCell */
2177
1998
  "nova.v2.cells.{cell}": {
2178
- /**
2179
- * Unique identifier addressing a cell in all API calls.
2180
- */
2181
1999
  cell: string;
2182
2000
  };
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
- */
2001
+ /** publishApp */
2192
2002
  "nova.v2.cells.{cell}.apps.{app}": {
2193
- /**
2194
- * Unique identifier addressing a cell in all API calls.
2195
- */
2196
2003
  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
- */
2201
2004
  app: string;
2202
2005
  };
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
- */
2006
+ /** publishProgramStatus */
2211
2007
  "nova.v2.cells.{cell}.programs": {
2212
- /**
2213
- * Unique identifier addressing a cell in all API calls.
2214
- */
2215
2008
  cell: string;
2216
2009
  };
2217
- /**
2218
- * Robot Controller Configuration
2219
- *
2220
- * Publishes the configuration of a robot controller.
2221
- *
2222
- * @operationId publishRobotController
2223
- */
2010
+ /** publishRobotController */
2224
2011
  "nova.v2.cells.{cell}.controllers.{controller}": {
2225
- /**
2226
- * Unique identifier addressing a cell in all API calls.
2227
- */
2228
2012
  cell: string;
2229
- /**
2230
- * Unique identifier to address a controller in the cell.
2231
- */
2232
2013
  controller: string;
2233
2014
  };
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
- */
2015
+ /** publishCellStatus */
2243
2016
  "nova.v2.cells.{cell}.status": {
2244
- /**
2245
- * Unique identifier addressing a cell in all API calls.
2246
- */
2247
2017
  cell: string;
2248
2018
  };
2249
- /**
2250
- * Cell Cycle Event
2251
- *
2252
- * Publishes the cycle events for a cell.
2253
- *
2254
- * @operationId publishCellCycle
2255
- */
2019
+ /** publishCellCycle */
2256
2020
  "nova.v2.cells.{cell}.cycle": {
2257
- /**
2258
- * Unique identifier addressing a cell in all API calls.
2259
- */
2260
2021
  cell: string;
2261
2022
  };
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
- */
2271
- "nova.v2.system.status": Record<never, never>;
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
- */
2023
+ /** publishSystemStatus */
2024
+ "nova.v2.system.status": Record<string, never>;
2025
+ /** publishCollisionSetup */
2281
2026
  "nova.v2.cells.{cell}.collision.setups.{setup}": {
2282
- /**
2283
- * Unique identifier addressing a cell in all API calls.
2284
- */
2285
2027
  cell: string;
2286
- /**
2287
- * Unique identifier addressing a collision setup.
2288
- */
2289
2028
  setup: string;
2290
2029
  };
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
- */
2030
+ /** publishBUSIOStatus */
2300
2031
  "nova.v2.cells.{cell}.bus-ios.status": {
2301
- /**
2302
- * Unique identifier addressing a cell in all API calls.
2303
- */
2304
2032
  cell: string;
2305
2033
  };
2306
- /**
2307
- * BUS Input/Output Values
2308
- *
2309
- * Publishes updates of BUS input/output values.
2310
- *
2311
- * @operationId publishBUSIOsIOs
2312
- */
2034
+ /** publishBUSIOsIOs */
2313
2035
  "nova.v2.cells.{cell}.bus-ios.ios": {
2314
- /**
2315
- * Unique identifier addressing a cell in all API calls.
2316
- */
2317
2036
  cell: string;
2318
2037
  };
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
- */
2038
+ /** setBUSIOsIOs */
2327
2039
  "nova.v2.cells.{cell}.bus-ios.ios.set": {
2328
- /**
2329
- * Unique identifier addressing a cell in all API calls.
2330
- */
2331
2040
  cell: string;
2332
2041
  };
2333
- /**
2334
- * Select Input/Output Values
2335
- *
2336
- * Select input/output values published by the controller.
2337
- *
2338
- * @operationId selectRobotControllerIOs
2339
- */
2042
+ /** selectRobotControllerIOs */
2340
2043
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": {
2341
- /**
2342
- * Unique identifier addressing a cell in all API calls.
2343
- */
2344
2044
  cell: string;
2345
- /**
2346
- * Unique identifier to address a controller in a cell.
2347
- */
2348
2045
  controller: string;
2349
2046
  };
2350
- /**
2351
- * Input/Output Values
2352
- *
2353
- * Publishes updates of input/output values.
2354
- *
2355
- * @operationId publishRobotControllerIOs
2356
- */
2047
+ /** publishRobotControllerIOs */
2357
2048
  "nova.v2.cells.{cell}.controllers.{controller}.ios": {
2358
- /**
2359
- * Unique identifier addressing a cell in all API calls.
2360
- */
2361
2049
  cell: string;
2362
- /**
2363
- * Unique identifier to address a controller in the cell.
2364
- */
2365
2050
  controller: string;
2366
2051
  };
2367
- /**
2368
- * State of Robot Controller
2369
- *
2370
- * Publishes the current state of a robot controller.
2371
- *
2372
- * @operationId publishRobotControllersState
2373
- */
2052
+ /** publishRobotControllersState */
2374
2053
  "nova.v2.cells.{cell}.controllers.{controller}.state": {
2375
- /**
2376
- * Unique identifier addressing a cell in all API calls.
2377
- */
2378
2054
  cell: string;
2379
- /**
2380
- * Unique identifier to address a controller in the cell.
2381
- */
2382
2055
  controller: string;
2383
2056
  };
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
- */
2057
+ /** publishMotionGroupDescription */
2391
2058
  "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": {
2392
- /**
2393
- * Unique identifier addressing a cell in all API calls.
2394
- */
2395
2059
  cell: string;
2396
- /**
2397
- * Unique identifier addressing a controller in the cell.
2398
- */
2399
2060
  controller: string;
2400
- /**
2401
- * Motion group identifier.
2402
- */
2403
2061
  "motion-group": string;
2404
2062
  };
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
- */
2418
- "nova.v2.events.system.update.started": Record<never, never>;
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
- */
2433
- "nova.v2.events.system.update.completed": Record<never, never>;
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
- */
2447
- "nova.v2.events.system.network.status.changed": Record<never, never>;
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
- */
2063
+ /** eventSystemUpdateStarted */
2064
+ "nova.v2.events.system.update.started": Record<string, never>;
2065
+ /** eventSystemUpdateCompleted */
2066
+ "nova.v2.events.system.update.completed": Record<string, never>;
2067
+ /** eventSystemNetworkStatusChanged */
2068
+ "nova.v2.events.system.network.status.changed": Record<string, never>;
2069
+ /** eventCellCreated */
2457
2070
  "nova.v2.events.cells.{cell}.created": {
2458
- /**
2459
- * Unique identifier addressing a cell in all API calls.
2460
- */
2461
2071
  cell: string;
2462
2072
  };
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
- */
2073
+ /** eventCellUpdated */
2472
2074
  "nova.v2.events.cells.{cell}.updated": {
2473
- /**
2474
- * Unique identifier addressing a cell in all API calls.
2475
- */
2476
2075
  cell: string;
2477
2076
  };
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
- */
2077
+ /** eventCellDeleted */
2487
2078
  "nova.v2.events.cells.{cell}.deleted": {
2488
- /**
2489
- * Unique identifier addressing a cell in all API calls.
2490
- */
2491
2079
  cell: string;
2492
2080
  };
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
- */
2081
+ /** eventAppCreated */
2502
2082
  "nova.v2.events.cells.{cell}.apps.{app}.created": {
2503
- /**
2504
- * Unique identifier addressing a cell in all API calls.
2505
- */
2506
2083
  cell: string;
2507
- /**
2508
- * Unique identifier addressing an app in the cell.
2509
- */
2510
2084
  app: string;
2511
2085
  };
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
- */
2086
+ /** eventAppUpdated */
2521
2087
  "nova.v2.events.cells.{cell}.apps.{app}.updated": {
2522
- /**
2523
- * Unique identifier addressing a cell in all API calls.
2524
- */
2525
2088
  cell: string;
2526
- /**
2527
- * Unique identifier addressing an app in the cell.
2528
- */
2529
2089
  app: string;
2530
2090
  };
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
- */
2091
+ /** eventAppDeleted */
2540
2092
  "nova.v2.events.cells.{cell}.apps.{app}.deleted": {
2541
- /**
2542
- * Unique identifier addressing a cell in all API calls.
2543
- */
2544
2093
  cell: string;
2545
- /**
2546
- * Unique identifier addressing an app in the cell.
2547
- */
2548
2094
  app: string;
2549
2095
  };
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
- */
2096
+ /** eventRobotControllerCreated */
2559
2097
  "nova.v2.events.cells.{cell}.controllers.{controller}.created": {
2560
- /**
2561
- * Unique identifier addressing a cell in all API calls.
2562
- */
2563
2098
  cell: string;
2564
- /**
2565
- * Unique identifier to address a controller in the cell.
2566
- */
2567
2099
  controller: string;
2568
2100
  };
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
- */
2101
+ /** eventRobotControllerUpdated */
2578
2102
  "nova.v2.events.cells.{cell}.controllers.{controller}.updated": {
2579
- /**
2580
- * Unique identifier addressing a cell in all API calls.
2581
- */
2582
2103
  cell: string;
2583
- /**
2584
- * Unique identifier to address a controller in the cell.
2585
- */
2586
2104
  controller: string;
2587
2105
  };
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
- */
2106
+ /** eventRobotControllerDeleted */
2597
2107
  "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": {
2598
- /**
2599
- * Unique identifier addressing a cell in all API calls.
2600
- */
2601
2108
  cell: string;
2602
- /**
2603
- * Unique identifier to address a controller in the cell.
2604
- */
2605
2109
  controller: string;
2606
2110
  };
2607
2111
  }
2608
2112
  /** Payload types for subjects the server publishes and the client subscribes to. */
2609
2113
  interface NatsSubscribePayloads {
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
- */
2114
+ /** publishCell */
2619
2115
  "nova.v2.cells.{cell}": Cell;
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
- */
2116
+ /** publishApp */
2629
2117
  "nova.v2.cells.{cell}.apps.{app}": App;
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
- */
2118
+ /** publishProgramStatus */
2638
2119
  "nova.v2.cells.{cell}.programs": ProgramStatus;
2639
- /**
2640
- * Robot Controller Configuration
2641
- *
2642
- * Publishes the configuration of a robot controller.
2643
- *
2644
- * @operationId publishRobotController
2645
- */
2120
+ /** publishRobotController */
2646
2121
  "nova.v2.cells.{cell}.controllers.{controller}": RobotController;
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
- */
2122
+ /** publishCellStatus */
2656
2123
  "nova.v2.cells.{cell}.status": ServiceStatusList;
2657
- /**
2658
- * Cell Cycle Event
2659
- *
2660
- * Publishes the cycle events for a cell.
2661
- *
2662
- * @operationId publishCellCycle
2663
- */
2124
+ /** publishCellCycle */
2664
2125
  "nova.v2.cells.{cell}.cycle": CellCycleEvent;
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
- */
2126
+ /** publishSystemStatus */
2674
2127
  "nova.v2.system.status": ServiceStatusList;
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
- */
2128
+ /** publishCollisionSetup */
2684
2129
  "nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
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
- */
2130
+ /** publishBUSIOStatus */
2694
2131
  "nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
2695
- /**
2696
- * BUS Input/Output Values
2697
- *
2698
- * Publishes updates of BUS input/output values.
2699
- *
2700
- * @operationId publishBUSIOsIOs
2701
- */
2132
+ /** publishBUSIOsIOs */
2702
2133
  "nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
2703
- /**
2704
- * Input/Output Values
2705
- *
2706
- * Publishes updates of input/output values.
2707
- *
2708
- * @operationId publishRobotControllerIOs
2709
- */
2134
+ /** publishRobotControllerIOs */
2710
2135
  "nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
2711
- /**
2712
- * State of Robot Controller
2713
- *
2714
- * Publishes the current state of a robot controller.
2715
- *
2716
- * @operationId publishRobotControllersState
2717
- */
2136
+ /** publishRobotControllersState */
2718
2137
  "nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
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
- */
2138
+ /** publishMotionGroupDescription */
2726
2139
  "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
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
- */
2140
+ /** eventSystemUpdateStarted */
2740
2141
  "nova.v2.events.system.update.started": SystemUpdateStartedEvent;
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
- */
2142
+ /** eventSystemUpdateCompleted */
2755
2143
  "nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
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
- */
2144
+ /** eventSystemNetworkStatusChanged */
2769
2145
  "nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
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
- */
2146
+ /** eventCellCreated */
2779
2147
  "nova.v2.events.cells.{cell}.created": CellCreatedEvent;
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
- */
2148
+ /** eventCellUpdated */
2789
2149
  "nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
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
- */
2150
+ /** eventCellDeleted */
2799
2151
  "nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
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
- */
2152
+ /** eventAppCreated */
2809
2153
  "nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
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
- */
2154
+ /** eventAppUpdated */
2819
2155
  "nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
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
- */
2156
+ /** eventAppDeleted */
2829
2157
  "nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
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
- */
2158
+ /** eventRobotControllerCreated */
2839
2159
  "nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
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
- */
2160
+ /** eventRobotControllerUpdated */
2849
2161
  "nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
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
- */
2162
+ /** eventRobotControllerDeleted */
2859
2163
  "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
2860
2164
  }
2861
2165
  type NatsSubscribeSubject = keyof NatsSubscribePayloads;
2862
2166
  /** Request payload types for subjects the client sends requests to. */
2863
2167
  interface NatsRequestPayloads {
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
- */
2168
+ /** setBUSIOsIOs */
2872
2169
  "nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
2873
- /**
2874
- * Select Input/Output Values
2875
- *
2876
- * Select input/output values published by the controller.
2877
- *
2878
- * @operationId selectRobotControllerIOs
2879
- */
2170
+ /** selectRobotControllerIOs */
2880
2171
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
2881
2172
  }
2882
2173
  /** Reply payload types for request/reply subjects. */
2883
2174
  interface NatsReplyPayloads {
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
- */
2175
+ /** setBUSIOsIOs */
2892
2176
  "nova.v2.cells.{cell}.bus-ios.ios.set": NatsErrorPayload;
2893
- /**
2894
- * Select Input/Output Values
2895
- *
2896
- * Select input/output values published by the controller.
2897
- *
2898
- * @operationId selectRobotControllerIOs
2899
- */
2177
+ /** selectRobotControllerIOs */
2900
2178
  "nova.v2.cells.{cell}.controllers.{controller}.ios.select": NatsErrorPayload;
2901
2179
  }
2902
2180
  type NatsRequestSubject = keyof NatsRequestPayloads;
2903
- /** Payload types for every subject defined in the spec, publishable via NovaNatsClient#publish. */
2904
- interface NatsPublishPayloads {
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
- */
2914
- "nova.v2.cells.{cell}": Cell;
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
- */
2924
- "nova.v2.cells.{cell}.apps.{app}": App;
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
- */
2933
- "nova.v2.cells.{cell}.programs": ProgramStatus;
2934
- /**
2935
- * Robot Controller Configuration
2936
- *
2937
- * Publishes the configuration of a robot controller.
2938
- *
2939
- * @operationId publishRobotController
2940
- */
2941
- "nova.v2.cells.{cell}.controllers.{controller}": RobotController;
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
- */
2951
- "nova.v2.cells.{cell}.status": ServiceStatusList;
2952
- /**
2953
- * Cell Cycle Event
2954
- *
2955
- * Publishes the cycle events for a cell.
2956
- *
2957
- * @operationId publishCellCycle
2958
- */
2959
- "nova.v2.cells.{cell}.cycle": CellCycleEvent;
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
- */
2969
- "nova.v2.system.status": ServiceStatusList;
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
- */
2979
- "nova.v2.cells.{cell}.collision.setups.{setup}": CollisionSetup;
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
- */
2989
- "nova.v2.cells.{cell}.bus-ios.status": BusIOsState;
2990
- /**
2991
- * BUS Input/Output Values
2992
- *
2993
- * Publishes updates of BUS input/output values.
2994
- *
2995
- * @operationId publishBUSIOsIOs
2996
- */
2997
- "nova.v2.cells.{cell}.bus-ios.ios": ListIOValuesResponse;
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
- */
3006
- "nova.v2.cells.{cell}.bus-ios.ios.set": ListIOValuesResponse;
3007
- /**
3008
- * Select Input/Output Values
3009
- *
3010
- * Select input/output values published by the controller.
3011
- *
3012
- * @operationId selectRobotControllerIOs
3013
- */
3014
- "nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
3015
- /**
3016
- * Input/Output Values
3017
- *
3018
- * Publishes updates of input/output values.
3019
- *
3020
- * @operationId publishRobotControllerIOs
3021
- */
3022
- "nova.v2.cells.{cell}.controllers.{controller}.ios": StreamIOValuesResponse;
3023
- /**
3024
- * State of Robot Controller
3025
- *
3026
- * Publishes the current state of a robot controller.
3027
- *
3028
- * @operationId publishRobotControllersState
3029
- */
3030
- "nova.v2.cells.{cell}.controllers.{controller}.state": RobotControllerState;
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
- */
3038
- "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": MotionGroupDescription;
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
- */
3052
- "nova.v2.events.system.update.started": SystemUpdateStartedEvent;
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
- */
3067
- "nova.v2.events.system.update.completed": SystemUpdateCompletedEvent;
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
- */
3081
- "nova.v2.events.system.network.status.changed": NetworkStatusChangedEvent;
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
- */
3091
- "nova.v2.events.cells.{cell}.created": CellCreatedEvent;
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
- */
3101
- "nova.v2.events.cells.{cell}.updated": CellUpdatedEvent;
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
- */
3111
- "nova.v2.events.cells.{cell}.deleted": CellDeletedEvent;
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
- */
3121
- "nova.v2.events.cells.{cell}.apps.{app}.created": AppCreatedEvent;
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
- */
3131
- "nova.v2.events.cells.{cell}.apps.{app}.updated": AppUpdatedEvent;
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
- */
3141
- "nova.v2.events.cells.{cell}.apps.{app}.deleted": AppDeletedEvent;
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
- */
3151
- "nova.v2.events.cells.{cell}.controllers.{controller}.created": RobotControllerCreatedEvent;
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
- */
3161
- "nova.v2.events.cells.{cell}.controllers.{controller}.updated": RobotControllerUpdatedEvent;
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
- */
3171
- "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
3172
- }
3173
- type NatsPublishSubject = keyof NatsPublishPayloads;
3174
2181
  //#endregion
3175
2182
  //#region src/lib/experimental/nats/NovaNatsClient.d.ts
3176
2183
  type NovaNatsClientConfig = ConnectionOptions;
3177
- type NatsMessageHandler<K extends NatsSubscribeSubject> = (payload: NatsSubscribePayloads[K], msg: Msg) => void | Promise<void>;
3178
- type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K] extends never ? [handler: NatsMessageHandler<K>] : [params: NatsOperationParams[K], handler: NatsMessageHandler<K>];
3179
2184
  /**
3180
2185
  * Typed NATS client for the Wandelbots NOVA messaging API, generated from
3181
2186
  * src/asyncapi.yaml (see scripts/generate-nats-client.ts).
@@ -3184,15 +2189,11 @@ type SubscribeArgs<K extends NatsSubscribeSubject> = keyof NatsOperationParams[K
3184
2189
  */
3185
2190
  declare class NovaNatsClient {
3186
2191
  readonly config: NovaNatsClientConfig;
3187
- private connectionPromise;
3188
- constructor(nova: Nova, config?: NovaNatsClientConfig);
3189
- /**
3190
- * Connects to NATS if not already connected or connecting, and returns the
3191
- * connection. Safe to call concurrently: all callers share the same
3192
- * in-flight connection attempt instead of each starting their own.
3193
- */
2192
+ connection: NatsConnection | null;
2193
+ constructor(config: NovaNatsClientConfig);
2194
+ /** Connects to NATS if not already connected, and returns the connection. */
3194
2195
  connect(): Promise<NatsConnection>;
3195
- /** Closes the underlying NATS connection, if open or connecting. */
2196
+ /** Closes the underlying NATS connection, if open. */
3196
2197
  close(): Promise<void>;
3197
2198
  /**
3198
2199
  * Subscribes to a NATS subject published by the server, invoking `handler`
@@ -3202,13 +2203,9 @@ declare class NovaNatsClient {
3202
2203
  * `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
3203
2204
  * `params`.
3204
2205
  *
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
- *
3209
2206
  * Returns a function that unsubscribes when called.
3210
2207
  */
3211
- subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
2208
+ subscribe<K extends NatsSubscribeSubject>(subject: K, params: NatsOperationParams[K], handler: (payload: NatsSubscribePayloads[K], msg: Msg) => void): Promise<() => void>;
3212
2209
  /**
3213
2210
  * Sends a request payload for a NATS subject the server receives, and
3214
2211
  * waits for the JSON-decoded reply.
@@ -3220,16 +2217,7 @@ declare class NovaNatsClient {
3220
2217
  request<K extends NatsRequestSubject>(subject: K, params: NatsOperationParams[K], payload: NatsRequestPayloads[K], opts?: {
3221
2218
  timeout?: number;
3222
2219
  }): Promise<NatsReplyPayloads[K]>;
3223
- /**
3224
- * Publishes a JSON payload to any NATS subject defined in the spec,
3225
- * without waiting for a reply.
3226
- *
3227
- * `subject` is the subject template as it appears on the wire, e.g.
3228
- * `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
3229
- * filled in from `params`.
3230
- */
3231
- publish<K extends NatsPublishSubject>(subject: K, params: NatsOperationParams[K], payload: NatsPublishPayloads[K]): Promise<void>;
3232
2220
  }
3233
2221
  //#endregion
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 };
2222
+ export { type NatsOperationParams, type NatsReplyPayloads, type NatsRequestPayloads, type NatsRequestSubject, type NatsSubscribePayloads, type NatsSubscribeSubject, NovaNatsClient, type NovaNatsClientConfig };
3235
2223
  //# sourceMappingURL=index.d.cts.map