@wandelbots/nova-js 3.13.0 → 4.0.0-pr.309.02b99fd

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 (72) hide show
  1. package/dist/{AutoReconnectingWebsocket-1K2J1NA4.d.cts → AutoReconnectingWebsocket-BSt-vnzX.d.mts} +4 -16
  2. package/dist/AutoReconnectingWebsocket-BSt-vnzX.d.mts.map +1 -0
  3. package/dist/{context-ffr5Q2dc.mjs → LoginWithAuth0-D92HnzHq.mjs} +3 -13
  4. package/dist/LoginWithAuth0-D92HnzHq.mjs.map +1 -0
  5. package/dist/{Nova--8gozkLR.d.mts → Nova-C8nDNSCa.d.mts} +2 -2
  6. package/dist/{Nova--8gozkLR.d.mts.map → Nova-C8nDNSCa.d.mts.map} +1 -1
  7. package/dist/experimental/nats/index.d.mts +1 -1
  8. package/dist/index.d.mts +2 -7
  9. package/dist/index.d.mts.map +1 -1
  10. package/dist/index.mjs +2 -3
  11. package/dist/v2/index.d.mts +2 -130
  12. package/dist/v2/index.mjs +4 -231
  13. package/dist/v2/index.mjs.map +1 -1
  14. package/package.json +13 -17
  15. package/src/index.ts +0 -2
  16. package/src/lib/AutoReconnectingWebsocket.ts +3 -4
  17. package/src/lib/LoginWithAuth0.ts +1 -1
  18. package/src/lib/context.ts +1 -1
  19. package/src/lib/errorHandling.ts +0 -7
  20. package/src/v2/index.ts +0 -3
  21. package/dist/AutoReconnectingWebsocket-1K2J1NA4.d.cts.map +0 -1
  22. package/dist/AutoReconnectingWebsocket-1K2J1NA4.d.mts +0 -69
  23. package/dist/AutoReconnectingWebsocket-1K2J1NA4.d.mts.map +0 -1
  24. package/dist/Nova-B1o5iTQ6.d.cts +0 -85
  25. package/dist/Nova-B1o5iTQ6.d.cts.map +0 -1
  26. package/dist/context-BZELA2eh.cjs +0 -348
  27. package/dist/context-BZELA2eh.cjs.map +0 -1
  28. package/dist/context-ffr5Q2dc.mjs.map +0 -1
  29. package/dist/converters-EYS27XJE.cjs +0 -146
  30. package/dist/converters-EYS27XJE.cjs.map +0 -1
  31. package/dist/experimental/nats/index.cjs +0 -158
  32. package/dist/experimental/nats/index.cjs.map +0 -1
  33. package/dist/experimental/nats/index.d.cts +0 -3235
  34. package/dist/experimental/nats/index.d.cts.map +0 -1
  35. package/dist/index.cjs +0 -24
  36. package/dist/index.d.cts +0 -110
  37. package/dist/index.d.cts.map +0 -1
  38. package/dist/v1/index.cjs +0 -201
  39. package/dist/v1/index.cjs.map +0 -1
  40. package/dist/v1/index.d.cts +0 -67
  41. package/dist/v1/index.d.cts.map +0 -1
  42. package/dist/v1/index.d.mts +0 -67
  43. package/dist/v1/index.d.mts.map +0 -1
  44. package/dist/v1/index.mjs +0 -184
  45. package/dist/v1/index.mjs.map +0 -1
  46. package/dist/v2/index.cjs +0 -1038
  47. package/dist/v2/index.cjs.map +0 -1
  48. package/dist/v2/index.d.cts +0 -131
  49. package/dist/v2/index.d.cts.map +0 -1
  50. package/dist/v2/index.d.mts.map +0 -1
  51. package/dist/wandelscriptUtils-CpUXdLVc.mjs +0 -2062
  52. package/dist/wandelscriptUtils-CpUXdLVc.mjs.map +0 -1
  53. package/dist/wandelscriptUtils-DY3WsiuB.d.cts +0 -356
  54. package/dist/wandelscriptUtils-DY3WsiuB.d.cts.map +0 -1
  55. package/dist/wandelscriptUtils-DcY1aLWu.cjs +0 -2099
  56. package/dist/wandelscriptUtils-DcY1aLWu.cjs.map +0 -1
  57. package/dist/wandelscriptUtils-YHTxn_p9.d.mts +0 -356
  58. package/dist/wandelscriptUtils-YHTxn_p9.d.mts.map +0 -1
  59. package/src/lib/deprecated/v1/ConnectedMotionGroup.ts +0 -449
  60. package/src/lib/deprecated/v1/JoggerConnection.ts +0 -491
  61. package/src/lib/deprecated/v1/MotionStreamConnection.ts +0 -215
  62. package/src/lib/deprecated/v1/NovaCellAPIClient.ts +0 -208
  63. package/src/lib/deprecated/v1/NovaClient.ts +0 -260
  64. package/src/lib/deprecated/v1/ProgramStateConnection.ts +0 -277
  65. package/src/lib/deprecated/v1/getLatestTrajectories.ts +0 -37
  66. package/src/lib/deprecated/v1/mock/MockNovaInstance.ts +0 -1303
  67. package/src/lib/deprecated/v1/motionStateUpdate.ts +0 -58
  68. package/src/lib/deprecated/v1/wandelscriptUtils.ts +0 -23
  69. package/src/lib/deprecated/v2/NovaCellAPIClient.ts +0 -215
  70. package/src/lib/deprecated/v2/NovaClient.ts +0 -218
  71. package/src/lib/deprecated/v2/wandelscriptUtils.ts +0 -28
  72. package/src/v1/index.ts +0 -14
@@ -1,3235 +0,0 @@
1
- import { t as Nova } from "../../Nova-B1o5iTQ6.cjs";
2
- import { ConnectionOptions, Msg, NatsConnection } from "@nats-io/nats-core";
3
-
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
- //#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
- /**
31
- * A description of the cell.
32
- *
33
- *
34
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
35
- * via the `definition` "CellDescription".
36
- */
37
- type CellDescription = string;
38
- /**
39
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
40
- * via the `definition` "Manufacturer".
41
- */
42
- type Manufacturer = "abb" | "fanuc" | "kuka" | "staubli" | "universalrobots" | "yaskawa";
43
- /**
44
- * Identifies a single motion group model.
45
- * See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types.
46
- *
47
- *
48
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
49
- * via the `definition` "MotionGroupModel".
50
- */
51
- type MotionGroupModel = string;
52
- /**
53
- * Request body wrapper for `addVirtualControllerMotionGroup`.
54
- * Allow either referencing a predefined motion group model or
55
- * uploading a JSON configuration that the backend converts into a
56
- * motion group description.
57
- *
58
- *
59
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
60
- * via the `definition` "AddVirtualControllerMotionGroupRequest".
61
- */
62
- type AddVirtualControllerMotionGroupRequest = MotionGroupFromModel | MotionGroupFromJSON;
63
- /**
64
- * A list of environment variables with name and their value.
65
- * These can be used to configure the containerized application, and turn features on or off.
66
- *
67
- *
68
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
69
- * via the `definition` "ContainerEnvironment".
70
- */
71
- type ContainerEnvironment = {
72
- name: string;
73
- value: string;
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";
89
- /**
90
- * State of the program run.
91
- */
92
- type ProgramRunState1 = "PREPARING" | "RUNNING" | "COMPLETED" | "FAILED" | "STOPPED";
93
- /**
94
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
95
- * via the `definition` "ServiceGroup".
96
- */
97
- type ServiceGroup = "SystemService" | "CellService" | "RobotController" | "App";
98
- /**
99
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
100
- * via the `definition` "ServiceStatusSeverity".
101
- */
102
- type ServiceStatusSeverity = "INFO" | "WARNING" | "ERROR";
103
- /**
104
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
105
- * via the `definition` "ServiceStatusPhase".
106
- */
107
- type ServiceStatusPhase = "Terminating" | "Initialized" | "Running" | "NoReady" | "Completed" | "ContainerCreating" | "PodInitializing" | "Unknown" | "CrashLoopBackOff" | "Error" | "ImagePullBackOff" | "OOMKilled" | "Pending" | "Evicted";
108
- /**
109
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
110
- * via the `definition` "ServiceStatusList".
111
- */
112
- type ServiceStatusList = ServiceStatus[];
113
- /**
114
- * A three-dimensional vector [x, y, z] with double precision.
115
- *
116
- *
117
- * @minItems 3
118
- * @maxItems 3
119
- *
120
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
121
- * via the `definition` "Vector3d".
122
- */
123
- type Vector3D = [number, number, number];
124
- /**
125
- * Defines a rotation in 3D space.
126
- * A three-dimensional Vector [rx, ry, rz] with double precision.
127
- * Rotation is applied around the vector.
128
- * The angle of rotation equals the length of the vector.
129
- *
130
- *
131
- * @minItems 3
132
- * @maxItems 3
133
- *
134
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
135
- * via the `definition` "RotationVector".
136
- */
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[];
157
- /**
158
- * The shape of the motion groups links to validate against colliders.
159
- * Indexed along the kinematic chain, starting with a static base shape before first joint.
160
- * The base of the motion group is not checked for collision against the environment.
161
- *
162
- */
163
- type LinkChain1 = CollisionMotionGroupLink[];
164
- /**
165
- * Current state of the BUS input/output service.
166
- *
167
- *
168
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
169
- * via the `definition` "BusIOsStateEnum".
170
- */
171
- type BusIOsStateEnum = "BUS_IOS_STATE_UNKNOWN" | "BUS_IOS_STATE_INITIALIZING" | "BUS_IOS_STATE_CONNECTED" | "BUS_IOS_STATE_DISCONNECTED";
172
- /**
173
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
174
- * via the `definition` "IOValue".
175
- */
176
- type IOValue = IOBooleanValue | IOIntegerValue | IOFloatValue;
177
- /**
178
- * Array of input/output values.
179
- *
180
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
181
- * via the `definition` "ListIOValuesResponse".
182
- */
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";
228
- /**
229
- * Current operation mode of the configured robot controller.
230
- * Operation modes in which the attached motion groups can be moved are:
231
- * - OPERATION_MODE_MANUAL (if enabling switch is pressed)
232
- * - OPERATION_MODE_MANUAL_T1 (if enabling switch is pressed)
233
- * - OPERATION_MODE_MANUAL_T2 (if enabling switch is pressed)
234
- * - OPERATION_MODE_AUTO (without needing to press enabling switch)
235
- * All other modes are considered as non-operational.
236
- *
237
- *
238
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
239
- * via the `definition` "OperationMode".
240
- */
241
- type OperationMode = "OPERATION_MODE_UNKNOWN" | "OPERATION_MODE_NO_CONTROLLER" | "OPERATION_MODE_DISCONNECTED" | "OPERATION_MODE_POWER_ON" | "OPERATION_MODE_PENDING" | "OPERATION_MODE_MANUAL" | "OPERATION_MODE_MANUAL_T1" | "OPERATION_MODE_MANUAL_T2" | "OPERATION_MODE_AUTO" | "OPERATION_MODE_RECOVERY";
242
- /**
243
- * Current safety state of the configured robot controller.
244
- * Operation modes in which the attached motion groups can be moved are:
245
- * - SAFETY_STATE_NORMAL
246
- * - SAFETY_STATE_REDUCED
247
- * All other modes are considered as non-operational.
248
- *
249
- *
250
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
251
- * via the `definition` "SafetyStateType".
252
- */
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;
276
- /**
277
- * Current joint position of each joint.
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].
279
- *
280
- */
281
- type Joints1 = number[];
282
- /**
283
- * Current joint torque of each joint in [Nm].
284
- * Is only available if the robot controller supports it, e.g., available for UR controllers.
285
- *
286
- */
287
- type Joints2 = number[];
288
- /**
289
- * Current at TCP in [A].
290
- * Is only available if the robot controller supports it, e.g., available for UR controllers.
291
- *
292
- */
293
- type Joints3 = number[];
294
- /**
295
- * State of indicated motion groups.
296
- * In case of state request via controller all configured motion groups are returned.
297
- * In case of executing a motion only the affected motion groups are returned.
298
- *
299
- */
300
- type MotionGroupState1 = MotionGroupState[];
301
- /**
302
- * A three-dimensional vector [x, y, z] with double precision.
303
- *
304
- *
305
- * @minItems 3
306
- * @maxItems 3
307
- */
308
- type Vector3D1 = [number, number, number];
309
- /**
310
- * A three-dimensional vector [x, y, z] with double precision.
311
- *
312
- *
313
- * @minItems 3
314
- * @maxItems 3
315
- */
316
- type Vector3D2 = [number, number, number];
317
- /**
318
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
319
- * via the `definition` "JointTypeEnum".
320
- */
321
- type JointTypeEnum = "REVOLUTE_JOINT" | "PRISMATIC_JOINT";
322
- /**
323
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
324
- * via the `definition` "SystemUpdateStartedEvent".
325
- */
326
- type SystemUpdateStartedEvent = CloudEvent & {
327
- type?: "nova.v2.events.system.update.started";
328
- source?: "/nova/service-manager";
329
- /**
330
- * Unique identifier for this update process
331
- */
332
- id: {
333
- [k: string]: unknown;
334
- };
335
- /**
336
- * Timestamp when the update process started (RFC3339)
337
- */
338
- time: {
339
- [k: string]: unknown;
340
- };
341
- /**
342
- * System update started event payload
343
- */
344
- data: {
345
- /**
346
- * New system version being installed
347
- */
348
- newVersion: string;
349
- /**
350
- * Previous system version, if available
351
- */
352
- oldVersion?: string;
353
- };
354
- };
355
- /**
356
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
357
- * via the `definition` "SystemUpdateCompletedEvent".
358
- */
359
- type SystemUpdateCompletedEvent = CloudEvent & {
360
- type?: "nova.v2.events.system.update.completed";
361
- source?: "/nova/service-manager";
362
- /**
363
- * Same unique identifier from the started event for correlation
364
- */
365
- id: {
366
- [k: string]: unknown;
367
- };
368
- /**
369
- * Timestamp when the update process completed (RFC3339)
370
- */
371
- time: {
372
- [k: string]: unknown;
373
- };
374
- /**
375
- * System update completed event payload
376
- */
377
- data: {
378
- /**
379
- * New system version that was installed
380
- */
381
- newVersion: string;
382
- /**
383
- * Error message if update failed
384
- */
385
- error?: string;
386
- };
387
- };
388
- /**
389
- * The operating state.
390
- *
391
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
392
- * via the `definition` "OperatingState".
393
- */
394
- type OperatingState = "ACTIVE" | "INACTIVE";
395
- /**
396
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
397
- * via the `definition` "CellCreatedEvent".
398
- */
399
- type CellCreatedEvent = {
400
- type?: "nova.v2.events.cells.{cell}.created";
401
- source?: "/nova/service-manager";
402
- /**
403
- * Unique identifier for this cell created event.
404
- */
405
- id: {
406
- [k: string]: unknown;
407
- };
408
- /**
409
- * Timestamp when the cell foundation release was created.
410
- */
411
- time: {
412
- [k: string]: unknown;
413
- };
414
- data: CellEventData;
415
- } & CloudEvent;
416
- /**
417
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
418
- * via the `definition` "CellUpdatedEvent".
419
- */
420
- type CellUpdatedEvent = {
421
- type?: "nova.v2.events.cells.{cell}.updated";
422
- source?: "/nova/service-manager";
423
- /**
424
- * Unique identifier for this cell updated event.
425
- */
426
- id: {
427
- [k: string]: unknown;
428
- };
429
- /**
430
- * Timestamp when the cell foundation release was updated.
431
- */
432
- time: {
433
- [k: string]: unknown;
434
- };
435
- data: CellEventData;
436
- } & CloudEvent;
437
- /**
438
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
439
- * via the `definition` "CellDeletedEvent".
440
- */
441
- type CellDeletedEvent = {
442
- type?: "nova.v2.events.cells.{cell}.deleted";
443
- source?: "/nova/service-manager";
444
- /**
445
- * Unique identifier for this cell deleted event.
446
- */
447
- id: {
448
- [k: string]: unknown;
449
- };
450
- /**
451
- * Timestamp when the cell foundation release was deleted.
452
- */
453
- time: {
454
- [k: string]: unknown;
455
- };
456
- data: CellEventData;
457
- } & CloudEvent;
458
- /**
459
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
460
- * via the `definition` "AppCreatedEvent".
461
- */
462
- type AppCreatedEvent = {
463
- type?: "nova.v2.events.cells.{cell}.apps.{app}.created";
464
- source?: "/nova/service-manager";
465
- /**
466
- * Unique identifier for this app created event.
467
- */
468
- id: {
469
- [k: string]: unknown;
470
- };
471
- /**
472
- * Timestamp when the app release was created.
473
- */
474
- time: {
475
- [k: string]: unknown;
476
- };
477
- data: AppEventData;
478
- } & CloudEvent;
479
- /**
480
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
481
- * via the `definition` "AppUpdatedEvent".
482
- */
483
- type AppUpdatedEvent = {
484
- type?: "nova.v2.events.cells.{cell}.apps.{app}.updated";
485
- source?: "/nova/service-manager";
486
- /**
487
- * Unique identifier for this app updated event.
488
- */
489
- id: {
490
- [k: string]: unknown;
491
- };
492
- /**
493
- * Timestamp when the app release was updated.
494
- */
495
- time: {
496
- [k: string]: unknown;
497
- };
498
- data: AppEventData;
499
- } & CloudEvent;
500
- /**
501
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
502
- * via the `definition` "AppDeletedEvent".
503
- */
504
- type AppDeletedEvent = {
505
- type?: "nova.v2.events.cells.{cell}.apps.{app}.deleted";
506
- source?: "/nova/service-manager";
507
- /**
508
- * Unique identifier for this app deleted event.
509
- */
510
- id: {
511
- [k: string]: unknown;
512
- };
513
- /**
514
- * Timestamp when the app release was deleted.
515
- */
516
- time: {
517
- [k: string]: unknown;
518
- };
519
- data: AppEventData;
520
- } & CloudEvent;
521
- /**
522
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
523
- * via the `definition` "RobotControllerCreatedEvent".
524
- */
525
- type RobotControllerCreatedEvent = {
526
- type?: "nova.v2.events.cells.{cell}.controllers.{controller}.created";
527
- source?: "/nova/service-manager";
528
- /**
529
- * Unique identifier for this robot controller created event.
530
- */
531
- id: {
532
- [k: string]: unknown;
533
- };
534
- /**
535
- * Timestamp when the robot controller release was created.
536
- */
537
- time: {
538
- [k: string]: unknown;
539
- };
540
- data: RobotControllerEventData;
541
- } & CloudEvent;
542
- /**
543
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
544
- * via the `definition` "RobotControllerUpdatedEvent".
545
- */
546
- type RobotControllerUpdatedEvent = {
547
- type?: "nova.v2.events.cells.{cell}.controllers.{controller}.updated";
548
- source?: "/nova/service-manager";
549
- /**
550
- * Unique identifier for this robot controller updated event.
551
- */
552
- id: {
553
- [k: string]: unknown;
554
- };
555
- /**
556
- * Timestamp when the robot controller release was updated.
557
- */
558
- time: {
559
- [k: string]: unknown;
560
- };
561
- data: RobotControllerEventData;
562
- } & CloudEvent;
563
- /**
564
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
565
- * via the `definition` "RobotControllerDeletedEvent".
566
- */
567
- type RobotControllerDeletedEvent = {
568
- type?: "nova.v2.events.cells.{cell}.controllers.{controller}.deleted";
569
- source?: "/nova/service-manager";
570
- /**
571
- * Unique identifier for this robot controller deleted event.
572
- */
573
- id: {
574
- [k: string]: unknown;
575
- };
576
- /**
577
- * Timestamp when the robot controller release was deleted.
578
- */
579
- time: {
580
- [k: string]: unknown;
581
- };
582
- data: RobotControllerEventData;
583
- } & CloudEvent;
584
- interface AbbController {
585
- kind: "AbbController";
586
- controller_ip: string;
587
- /**
588
- * Default values: 80, 443. If custom value is set, field is required.
589
- *
590
- */
591
- controller_port: number;
592
- /**
593
- * The EGM server runs inside of the cell, thus its IP must be in the same network as the 'controller_ip'
594
- */
595
- egm_server: {
596
- ip: string;
597
- port: number;
598
- };
599
- }
600
- /**
601
- * Optional dedicated network interface for a physical robot controller.
602
- *
603
- * When set, the controller is given its own network interface on the selected
604
- * physical network port (`pf`) with the given `address`, so it can reach the
605
- * robot network directly.
606
- *
607
- *
608
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
609
- * via the `definition` "ControllerNetworkInterface".
610
- */
611
- interface ControllerNetworkInterface {
612
- /**
613
- * IPv4 address in CIDR notation to assign to the controller's network
614
- * interface, for example `192.168.1.10/24`. The value must be a valid IPv4
615
- * address followed by a prefix length between 0 and 32.
616
- *
617
- */
618
- address: string;
619
- /**
620
- * Name of the node's physical network port that connects to the robot
621
- * network, for example `enp10s0f0`. The controller's interface is provided
622
- * from this port.
623
- *
624
- */
625
- pf: string;
626
- }
627
- /**
628
- * The configuration of a physical FANUC robot controller has to contain IP address of the controller.
629
- *
630
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
631
- * via the `definition` "FanucController".
632
- */
633
- interface FanucController {
634
- kind: "FanucController";
635
- controller_ip: string;
636
- network_interface?: ControllerNetworkInterface;
637
- }
638
- /**
639
- * The configuration of a physical KUKA robot controller has to contain an IP address.
640
- * Additionally an RSI server configuration has to be specified in order to control the robot.
641
- * Deploying the server is a functionality of this API.
642
- *
643
- *
644
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
645
- * via the `definition` "KukaController".
646
- */
647
- interface KukaController {
648
- kind: "KukaController";
649
- controller_ip: string;
650
- controller_port: number;
651
- /**
652
- * The RSI server runs inside of the cell.
653
- */
654
- rsi_server: {
655
- ip: string;
656
- port: number;
657
- };
658
- /**
659
- * If true, uses slower cycle time of 12ms instead of 4ms.
660
- *
661
- */
662
- slow_cycle_rate?: boolean;
663
- }
664
- /**
665
- * The configuration of a physical Universal Robots controller has to contain IP address of the controller.
666
- *
667
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
668
- * via the `definition` "UniversalrobotsController".
669
- */
670
- interface UniversalrobotsController {
671
- kind: "UniversalrobotsController";
672
- controller_ip: string;
673
- }
674
- /**
675
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
676
- * via the `definition` "MotionGroupFromType".
677
- */
678
- interface MotionGroupFromModel {
679
- /**
680
- * Unique identifier for the motion group to be added.
681
- */
682
- motion_group: string;
683
- motion_group_model: MotionGroupModel;
684
- /**
685
- * Initial joint position of the added motion group.
686
- * Provides the joint position as a JSON array of float values in radians. The array length
687
- * must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
688
- * If the provided array length does not match the robot's DOF, the array will be adjusted; if it is longer, extra values will be truncated;
689
- * if it is shorter, missing values will be filled with zeros.
690
- *
691
- */
692
- initial_joint_position?: string;
693
- }
694
- /**
695
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
696
- * via the `definition` "MotionGroupFromJson".
697
- */
698
- interface MotionGroupFromJSON {
699
- /**
700
- * Unique identifier for the motion group to be added.
701
- */
702
- motion_group: string;
703
- /**
704
- * JSON configuration of the virtual robot controller, can be obtained from the physical controller's configuration
705
- * via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration).
706
- *
707
- */
708
- json_data: string;
709
- /**
710
- * The identifier of the motion group that needs to be extracted from the provided JSON configuration.
711
- *
712
- */
713
- extracted_motion_group_id: string;
714
- /**
715
- * Initial joint position of the added motion group.
716
- * Provides the joint position as a JSON array of float values in radians. The array length
717
- * must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
718
- * If the provided array length does not match the robot's DOF, the array will be adjusted: if it is longer, extra values will be truncated;
719
- * if it is shorter, missing values will be filled with zeros.
720
- *
721
- */
722
- initial_joint_position?: string;
723
- }
724
- /**
725
- * The configuration of a virtual robot controller has to contain the manufacturer string,
726
- * an optional joint position string array, and either a preset `type` **or** the complete JSON configuration.
727
- *
728
- *
729
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
730
- * via the `definition` "VirtualController".
731
- */
732
- interface VirtualController {
733
- kind: "VirtualController";
734
- manufacturer: Manufacturer;
735
- /**
736
- * Preset type of the virtual robot controller.
737
- * See [getRobotConfigurations](#/operations/getRobotConfigurations) for supported types.
738
- *
739
- */
740
- type?: string;
741
- /**
742
- * Complete JSON configuration of the virtual robot controller.
743
- * Can be obtained from the physical controller's configuration via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration).
744
- * If provided, the `type` field should not be used.
745
- *
746
- */
747
- json?: string;
748
- /**
749
- * Initial joint position of the first motion group from the virtual robot controller.
750
- * Provides the joint position as a JSON array of float values in radians. The array length
751
- * must match the robot's degrees of freedom, e.g., `"[0, 0, 0, 0, 0, 0]"` for a 6-DOF robot.
752
- * If the provided array length does not match the robot's DOF, the array will be adjusted: if it is longer, extra values will be truncated;
753
- * if it is shorter, missing values will be filled with zeros.
754
- *
755
- */
756
- initial_joint_position?: string;
757
- /**
758
- * Adds a motion group configuration for the virtual robot controller.
759
- *
760
- * > **NOTE**
761
- * >
762
- * > Set only one of the two options, **motion_group_model**, or **json_data**
763
- *
764
- * - **motion_group_model**: Identifies a single motion group. See [getMotionGroupModels](#/operations/getMotionGroupModels) for supported types
765
- * - **json_data**: JSON configuration of the virtual robot controller, can be obtained from the physical controller's configuration
766
- * via [getVirtualControllerConfiguration](#/operations/getVirtualControllerConfiguration)
767
- * - **extracted_motion_group_id**: Motion group identifier to extract from the provided JSON configuration, required when using json_data
768
- * - **motion_group**: Unique identifier for the motion group
769
- * - **initial_joint_position**: Specifies the initial joint position for the added motion group
770
- *
771
- *
772
- * @maxItems 10
773
- */
774
- motion_groups?: [] | [AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest] | [AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest, AddVirtualControllerMotionGroupRequest];
775
- }
776
- /**
777
- * The configuration of a physical Yaskawa robot controller has to contain IP address of the controller.
778
- *
779
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
780
- * via the `definition` "YaskawaController".
781
- */
782
- interface YaskawaController {
783
- kind: "YaskawaController";
784
- controller_ip: string;
785
- }
786
- /**
787
- * The configuration of a physical or virtual robot controller.
788
- *
789
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
790
- * via the `definition` "RobotController".
791
- */
792
- interface RobotController {
793
- /**
794
- * Unique name of controller within the cell.
795
- * It must be a valid k8s label name as defined by [RFC 1035](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names).
796
- *
797
- */
798
- name: string;
799
- configuration: AbbController | FanucController | KukaController | UniversalrobotsController | VirtualController | YaskawaController;
800
- }
801
- /**
802
- * User provided credentials for creating a secret to pull an image from a registry.
803
- *
804
- *
805
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
806
- * via the `definition` "ImageCredentials".
807
- */
808
- interface ImageCredentials {
809
- registry: string;
810
- user: string;
811
- password: string;
812
- }
813
- /**
814
- * A user provided, custom container image and the required credentials to pull it from a registry.
815
- *
816
- *
817
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
818
- * via the `definition` "ContainerImage".
819
- */
820
- interface ContainerImage {
821
- /**
822
- * The location of a container image in the form of `<registry>/<image>:<tag>`.
823
- */
824
- image: string;
825
- credentials?: ImageCredentials;
826
- /**
827
- * Known secrets for authentication with the container registry.
828
- */
829
- secrets?: {
830
- name: string;
831
- }[];
832
- }
833
- /**
834
- * The path and capacity of a volume that retains data across application restarts.
835
- * The maximal requestable capacity is 300Mi.
836
- * If you need more capacity consider using [storeObject](#/operations/storeObject).
837
- *
838
- *
839
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
840
- * via the `definition` "ContainerStorage".
841
- */
842
- interface ContainerStorage {
843
- mount_path: string;
844
- /**
845
- * The amount of local storage available for the application.
846
- *
847
- * **NOTE:** The capacity can NEVER be reduced!
848
- *
849
- */
850
- capacity: string;
851
- }
852
- /**
853
- * Additional resources that the application requires.
854
- *
855
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
856
- * via the `definition` "ContainerResources".
857
- */
858
- interface ContainerResources {
859
- /**
860
- * Number of GPUs the application requires.
861
- */
862
- intel_gpu?: number;
863
- /**
864
- * The maximum memory allocated to this application.
865
- */
866
- memory_limit?: string;
867
- }
868
- /**
869
- * An App is defined by a webserver, packed inside a container, serving a web-application.
870
- *
871
- *
872
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
873
- * via the `definition` "App".
874
- */
875
- interface App {
876
- /**
877
- * The name of the provided application.
878
- * The name must be unique within the cell and is used as an identifier for addressing the application in all API calls
879
- * , e.g., when updating the application.
880
- *
881
- * It also defines where the application is reachable (/$cell/$name).
882
- *
883
- * It must be a valid k8s label name as defined by [RFC 1035](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#rfc-1035-label-names).
884
- *
885
- */
886
- name: string;
887
- /**
888
- * The path of the icon for the App (/$cell/$name/$app_icon).
889
- */
890
- app_icon: string;
891
- container_image: ContainerImage;
892
- /**
893
- * The port the containerized webserver is listening on.
894
- */
895
- port?: number;
896
- environment?: ContainerEnvironment;
897
- storage?: ContainerStorage;
898
- resources?: ContainerResources;
899
- /**
900
- * Defines the URL path suffix used to check the application's health status. The complete health check URL
901
- * is constructed as `/$cell/$name/$health_path`. When the application is working as expected,
902
- * the endpoint returns an HTTP 200 status code.
903
- *
904
- * If not specified, the system will default to using the application icon path suffix
905
- * (the value of `app_icon`) as the health check endpoint, resulting in `/$cell/$name/$app_icon`.
906
- *
907
- * If the health check fails (no response or non-200 status code), the system will
908
- * automatically restart the application container to restore service.
909
- *
910
- */
911
- health_path?: string;
912
- /**
913
- * Defines the URL path suffix used to provide an endpoint for diagnosis data collection.
914
- * The complete diagnosis check URL is constructed as `/$cell/$name/$diagnosis_path`.
915
- *
916
- * The endpoint is called when a diagnosis package is requested via the diagnosis API.
917
- * The endpoint needs to return the data within a zip file `application/zip` response.
918
- *
919
- */
920
- diagnosis_path?: string;
921
- }
922
- /**
923
- * To create a robot cell, only a valid name is required.
924
- * Once created, a robot cell provides access to the Wandelbots NOVA foundation services.
925
- * The configuration can be customized, e.g., robot controllers, also within apps.
926
- *
927
- *
928
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
929
- * via the `definition` "Cell".
930
- */
931
- interface Cell {
932
- /**
933
- * A unique name for the cell used as an identifier for addressing the cell in all API calls.
934
- * 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).
935
- *
936
- */
937
- name: string;
938
- /**
939
- * Wandelbots NOVA version of the cell.
940
- * This version must not exceed the current system version.
941
- *
942
- */
943
- version?: string;
944
- description?: CellDescription;
945
- controllers?: RobotController[];
946
- apps?: App[];
947
- [k: string]: unknown;
948
- }
949
- /**
950
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
951
- * via the `definition` "ProgramStatus".
952
- */
953
- interface ProgramStatus {
954
- /**
955
- * The app name where the program is hosted.
956
- */
957
- app: string;
958
- /**
959
- * Unique identifier of the program.
960
- */
961
- program: string;
962
- /**
963
- * Unique identifier of the program run.
964
- */
965
- run: string;
966
- state: ProgramRunState1;
967
- /**
968
- * Error message if the program run failed.
969
- */
970
- error?: string;
971
- /**
972
- * RFC3339 timestamp when the program run started.
973
- */
974
- start_time?: string;
975
- /**
976
- * RFC3339 timestamp when the program run ended.
977
- */
978
- end_time?: string;
979
- /**
980
- * RFC3339 timestamp when the program run ended.
981
- */
982
- timestamp: string;
983
- }
984
- /**
985
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
986
- * via the `definition` "ServiceStatus".
987
- */
988
- interface ServiceStatus {
989
- service: string;
990
- group: ServiceGroup;
991
- status: {
992
- severity: ServiceStatusSeverity;
993
- code: ServiceStatusPhase;
994
- reason?: string;
995
- };
996
- }
997
- /**
998
- * Lifecycle event for a cell cycle.
999
- *
1000
- *
1001
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1002
- * via the `definition` "CellCycleEvent".
1003
- */
1004
- interface CellCycleEvent {
1005
- /**
1006
- * Type of the cycle event.
1007
- */
1008
- event_type: "cycle_started" | "cycle_finished" | "cycle_failed";
1009
- /**
1010
- * Unique identifier of this cycle event.
1011
- */
1012
- id: string;
1013
- /**
1014
- * Unique identifier of the cycle this event belongs to.
1015
- */
1016
- cycle_id: string;
1017
- /**
1018
- * Timestamp when the cycle event occurred, in ISO 8601 format.
1019
- */
1020
- timestamp: string;
1021
- /**
1022
- * Unique identifier of the cell the event belongs to.
1023
- */
1024
- cell: string;
1025
- /**
1026
- * Additional event-specific data. May be empty.
1027
- */
1028
- extra?: {
1029
- [k: string]: unknown;
1030
- };
1031
- /**
1032
- * Duration of the cycle in milliseconds.
1033
- */
1034
- duration_ms?: number;
1035
- /**
1036
- * Reason for cycle failure.
1037
- */
1038
- reason?: string;
1039
- }
1040
- /**
1041
- * Defines a spherical shape centred around the origin.
1042
- *
1043
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1044
- * via the `definition` "Sphere".
1045
- */
1046
- interface Sphere {
1047
- shape_type: "sphere";
1048
- /**
1049
- * The radius of the sphere in [mm].
1050
- */
1051
- radius: number;
1052
- }
1053
- /**
1054
- * Defines a cuboid shape centred around an origin.
1055
- *
1056
- * If a margin is applied to the box type full, it is added to all size values. The shape will keep its edges.
1057
- * The hollow box type consists of thin boxes that make up its walls.
1058
- * If a margin is applied to the box type hollow, its size values are reduced by the margin.
1059
- *
1060
- *
1061
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1062
- * via the `definition` "Box".
1063
- */
1064
- interface Box {
1065
- shape_type: "box";
1066
- /**
1067
- * The dimension in x-direction in [mm].
1068
- */
1069
- size_x: number;
1070
- /**
1071
- * The dimension in y-direction in [mm].
1072
- */
1073
- size_y: number;
1074
- /**
1075
- * The dimension in z-direction in [mm].
1076
- */
1077
- size_z: number;
1078
- /**
1079
- * The box type defines if the box is hollow or full.
1080
- */
1081
- box_type: "HOLLOW" | "FULL";
1082
- }
1083
- /**
1084
- * Defines an x/y-plane with finite size. Centred around the z-axis.
1085
- *
1086
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1087
- * via the `definition` "Rectangle".
1088
- */
1089
- interface Rectangle {
1090
- shape_type: "rectangle";
1091
- /**
1092
- * The dimension in x-direction in [mm].
1093
- */
1094
- size_x: number;
1095
- /**
1096
- * The dimension in y-direction in [mm].
1097
- */
1098
- size_y: number;
1099
- }
1100
- /**
1101
- * Defines an x/y-plane with infinite size.
1102
- *
1103
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1104
- * via the `definition` "Plane".
1105
- */
1106
- interface Plane {
1107
- shape_type: "plane";
1108
- }
1109
- /**
1110
- * Defines a cylindrical shape.
1111
- * Centred around origin, symmetric around z-axis.
1112
- *
1113
- * If a margin is applied, it is added to radius and height. The shape will keep its edges.
1114
- *
1115
- *
1116
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1117
- * via the `definition` "Cylinder".
1118
- */
1119
- interface Cylinder {
1120
- shape_type: "cylinder";
1121
- /**
1122
- * The radius of the cylinder in [mm].
1123
- */
1124
- radius: number;
1125
- /**
1126
- * The height of the cylinder in [mm].
1127
- */
1128
- height: number;
1129
- }
1130
- /**
1131
- * Defines a cylindrical shape with 2 semi-spheres on the top and bottom.
1132
- * Centred around origin, symmetric around z-axis.
1133
- *
1134
- *
1135
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1136
- * via the `definition` "Capsule".
1137
- */
1138
- interface Capsule {
1139
- shape_type: "capsule";
1140
- /**
1141
- * The radius of the cylinder and semi-spheres in [mm].
1142
- */
1143
- radius: number;
1144
- /**
1145
- * The height of the inner cylinder in [mm].
1146
- */
1147
- cylinder_height: number;
1148
- }
1149
- /**
1150
- * Convex hull around four spheres. Sphere center points in x/y-plane, offset by either combination "+/- sizeX" or "+/- sizeY".
1151
- *
1152
- * Alternative description: Rectangle in x/y-plane with a 3D padding.
1153
- *
1154
- *
1155
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1156
- * via the `definition` "RectangularCapsule".
1157
- */
1158
- interface RectangularCapsule {
1159
- shape_type: "rectangular_capsule";
1160
- /**
1161
- * The radius of the inner spheres in [mm].
1162
- */
1163
- radius: number;
1164
- /**
1165
- * The distance of the sphere center in x-direction in [mm].
1166
- */
1167
- sphere_center_distance_x: number;
1168
- /**
1169
- * The distance of the sphere center in y-direction in [mm].
1170
- */
1171
- sphere_center_distance_y: number;
1172
- }
1173
- /**
1174
- * Defines a convex hull encapsulating a set of vertices.
1175
- *
1176
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1177
- * via the `definition` "ConvexHull".
1178
- */
1179
- interface ConvexHull {
1180
- shape_type: "convex_hull";
1181
- /**
1182
- * The list of encapsulated points.
1183
- */
1184
- vertices: Vector3D[];
1185
- }
1186
- /**
1187
- * Defines a pose in 3D space.
1188
- * A pose is a combination of a position and an orientation.
1189
- * The position is applied before the orientation.
1190
- *
1191
- *
1192
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1193
- * via the `definition` "Pose".
1194
- */
1195
- interface Pose {
1196
- position?: Vector3D;
1197
- orientation?: RotationVector;
1198
- }
1199
- /**
1200
- * Defines a collider with a single shape.
1201
- *
1202
- * A collider is an object that is used for collision detection.
1203
- * It defines the `shape` that is attached with the offset of `pose` to a reference frame.
1204
- *
1205
- * Use colliders to:
1206
- * - Define the shape of a workpiece. The reference frame is the scene origin.
1207
- * - Define the shape of a link in a motion group. The reference frame is the link coordinate system.
1208
- * - Define the shape of a tool. The reference frame is the flange coordinate system.
1209
- *
1210
- *
1211
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1212
- * via the `definition` "Collider".
1213
- */
1214
- interface Collider {
1215
- shape: Sphere | Box | Rectangle | Plane | Cylinder | Capsule | RectangularCapsule | ConvexHull;
1216
- pose?: Pose;
1217
- /**
1218
- * Increases the shape's size in all dimensions. Applied in [mm]. Can be used to keep a safe distance to the shape.
1219
- */
1220
- margin?: number;
1221
- }
1222
- /**
1223
- * A collection of identifiable colliders.
1224
- *
1225
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1226
- * via the `definition` "ColliderDictionary".
1227
- */
1228
- interface ColliderDictionary {
1229
- [k: string]: Collider;
1230
- }
1231
- /**
1232
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1233
- * via the `definition` "Link".
1234
- */
1235
- interface CollisionMotionGroupLink {
1236
- [k: string]: Collider;
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
- }
1252
- /**
1253
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1254
- * via the `definition` "CollisionSetup".
1255
- */
1256
- interface CollisionSetup {
1257
- colliders?: ColliderDictionary1;
1258
- link_chain?: LinkChain1;
1259
- tool?: CollisionMotionGroupTool1;
1260
- /**
1261
- * If true, self-collision detection is enabled for the motion group.
1262
- *
1263
- * Self-collision detection checks if links in the kinematic chain of the motion group collide with each other.
1264
- * Adjacent links in the kinematic chain of the motion group are not checked for mutual collision.
1265
- * The tool is treated like a link at the end of the kinematic chain. It is checked against all links except the last one.
1266
- *
1267
- * Default is true.
1268
- *
1269
- */
1270
- self_collision_detection?: boolean;
1271
- }
1272
- /**
1273
- * Colliders are checked against links and tool.
1274
- *
1275
- */
1276
- interface ColliderDictionary1 {
1277
- [k: string]: Collider;
1278
- }
1279
- /**
1280
- * Shape of the tool to validate against colliders.
1281
- *
1282
- */
1283
- interface CollisionMotionGroupTool1 {
1284
- [k: string]: Collider;
1285
- }
1286
- /**
1287
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1288
- * via the `definition` "BusIOsState".
1289
- */
1290
- interface BusIOsState {
1291
- state: BusIOsStateEnum;
1292
- /**
1293
- * A message providing additional information on the input/output service, e.g., BUS service status, encountered errors.
1294
- * May be empty if no additional information is available.
1295
- *
1296
- */
1297
- message?: string;
1298
- }
1299
- /**
1300
- * Input/Output boolean value representation.
1301
- *
1302
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1303
- * via the `definition` "IOBooleanValue".
1304
- */
1305
- interface IOBooleanValue {
1306
- /**
1307
- * Unique identifier of the input/output.
1308
- */
1309
- io: string;
1310
- /**
1311
- * Value of a digital input/output.
1312
- *
1313
- */
1314
- value: boolean;
1315
- value_type: "boolean";
1316
- }
1317
- /**
1318
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1319
- * via the `definition` "IOIntegerValue".
1320
- */
1321
- interface IOIntegerValue {
1322
- /**
1323
- * Unique identifier of the input/output.
1324
- */
1325
- io: string;
1326
- /**
1327
- * Value of an input/output with integer representation.
1328
- *
1329
- * > The integral value is transmitted as a string to avoid precision loss during conversion to JSON.
1330
- * > Recommended: Use int64 in your implementation. If you want to interact with int64 in numbers,
1331
- * > JS bigint libraries can help you to parse the string into an integral value.
1332
- *
1333
- */
1334
- value: string;
1335
- value_type: "integer";
1336
- }
1337
- /**
1338
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1339
- * via the `definition` "IOFloatValue".
1340
- */
1341
- interface IOFloatValue {
1342
- /**
1343
- * Unique identifier of the input/output.
1344
- */
1345
- io: string;
1346
- /**
1347
- * Value of an analog input/output in floating number representation.
1348
- *
1349
- */
1350
- value: number;
1351
- value_type: "float";
1352
- }
1353
- /**
1354
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1355
- * via the `definition` "SelectIOs".
1356
- */
1357
- interface SelectIOs {
1358
- /**
1359
- * Array of input/output identifiers to retrieve the values for.
1360
- */
1361
- ios: string[];
1362
- /**
1363
- * Type of update.
1364
- * - changes: Only send updates when the value changes.
1365
- * - full: Send the full list of values at the update rate.
1366
- *
1367
- */
1368
- update_type?: "changes" | "full";
1369
- }
1370
- /**
1371
- * Array of input/output values.
1372
- *
1373
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1374
- * via the `definition` "StreamIOValuesResponse".
1375
- */
1376
- interface StreamIOValuesResponse {
1377
- io_values: IOValue[];
1378
- /**
1379
- * Timestamp indicating when the represented information was received from the robot controller.
1380
- */
1381
- timestamp: string;
1382
- /**
1383
- * Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
1384
- * The sequence number is reset when the connection to the physical controller is closed and re-established.
1385
- *
1386
- */
1387
- sequence_number: number;
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
- }
1403
- /**
1404
- * Jogging is active.
1405
- *
1406
- *
1407
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1408
- * via the `definition` "JoggingRunning".
1409
- */
1410
- interface JoggingRunning {
1411
- kind: "RUNNING";
1412
- }
1413
- /**
1414
- * User has paused jogging.
1415
- *
1416
- *
1417
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1418
- * via the `definition` "JoggingPausedByUser".
1419
- */
1420
- interface JoggingPausedByUser {
1421
- kind: "PAUSED_BY_USER";
1422
- }
1423
- /**
1424
- * Jogging was paused because of an I/O event.
1425
- *
1426
- *
1427
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1428
- * via the `definition` "JoggingPausedOnIO".
1429
- */
1430
- interface JoggingPausedOnIO {
1431
- kind: "PAUSED_ON_IO";
1432
- }
1433
- /**
1434
- * Jogging was paused because a joint is near its limit.
1435
- *
1436
- *
1437
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1438
- * via the `definition` "JoggingPausedNearJointLimit".
1439
- */
1440
- interface JoggingPausedNearJointLimit {
1441
- kind: "PAUSED_NEAR_JOINT_LIMIT";
1442
- joint_indices: number[];
1443
- }
1444
- /**
1445
- * Jogging was paused because the motion group neared a collision.
1446
- *
1447
- *
1448
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1449
- * via the `definition` "JoggingPausedNearCollision".
1450
- */
1451
- interface JoggingPausedNearCollision {
1452
- kind: "PAUSED_NEAR_COLLISION";
1453
- description: string;
1454
- }
1455
- /**
1456
- * Jogging was paused because the motion group neared a singularity or the workspace boundary.
1457
- *
1458
- *
1459
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1460
- * via the `definition` "JoggingPausedNearSingularity".
1461
- */
1462
- interface JoggingPausedNearSingularity {
1463
- kind: "PAUSED_NEAR_SINGULARITY";
1464
- description: string;
1465
- }
1466
- /**
1467
- * State of jogging execution.
1468
- * This state is sent during jogging movement, response-rate closest to the nearest multiple of controller step-rate but not exceeding the configured rate.
1469
- * The jogging state can be one of the following:
1470
- * - RUNNING: Jogging is active.
1471
- * - PAUSED_BY_USER: User has paused jogging.
1472
- * - PAUSED_NEAR_JOINT_LIMIT: Jogging was paused because a joint is near its limit.
1473
- * - PAUSED_NEAR_COLLISION: Jogging was paused because the motion group neared a collision.
1474
- * - PAUSED_NEAR_SINGULARITY: Jogging was paused because the motion group neared a singularity or the workspace boundary.
1475
- * - PAUSED_ON_IO: Jogging was paused because of an I/O event.
1476
- *
1477
- *
1478
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1479
- * via the `definition` "JoggingDetails".
1480
- */
1481
- interface JoggingDetails {
1482
- state: JoggingRunning | JoggingPausedByUser | JoggingPausedOnIO | JoggingPausedNearJointLimit | JoggingPausedNearCollision | JoggingPausedNearSingularity;
1483
- /**
1484
- * Timestamp of the current jogger session in milliseconds.
1485
- * Only waypoint sessions are supported. Other sessions return 0.
1486
- *
1487
- * > **NOTE**
1488
- * >
1489
- * > This field is experimental and its behavior may change in future releases.
1490
- *
1491
- */
1492
- jogger_session_timestamp_ms?: number;
1493
- kind: "JOGGING";
1494
- }
1495
- /**
1496
- * Trajectory is being executed.
1497
- *
1498
- *
1499
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1500
- * via the `definition` "TrajectoryRunning".
1501
- */
1502
- interface TrajectoryRunning {
1503
- kind: "RUNNING";
1504
- /**
1505
- * Remaining time in milliseconds (ms) to reach the end of the motion.
1506
- */
1507
- time_to_end: number;
1508
- }
1509
- /**
1510
- * User has paused execution.
1511
- *
1512
- *
1513
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1514
- * via the `definition` "TrajectoryPausedByUser".
1515
- */
1516
- interface TrajectoryPausedByUser {
1517
- kind: "PAUSED_BY_USER";
1518
- }
1519
- /**
1520
- * First or last sample (depending on direction) of trajectory has been sent.
1521
- *
1522
- *
1523
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1524
- * via the `definition` "TrajectoryEnded".
1525
- */
1526
- interface TrajectoryEnded {
1527
- kind: "END_OF_TRAJECTORY";
1528
- }
1529
- /**
1530
- * Waiting for an I/O event to start execution.
1531
- *
1532
- *
1533
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1534
- * via the `definition` "TrajectoryWaitForIO".
1535
- */
1536
- interface TrajectoryWaitForIO {
1537
- kind: "WAIT_FOR_IO";
1538
- }
1539
- /**
1540
- * Execution was paused because of an I/O event.
1541
- *
1542
- *
1543
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1544
- * via the `definition` "TrajectoryPausedOnIO".
1545
- */
1546
- interface TrajectoryPausedOnIO {
1547
- kind: "PAUSED_ON_IO";
1548
- }
1549
- /**
1550
- * State of trajectory execution.
1551
- * This state is sent during trajectory movement, response-rate closest to the nearest multiple of controller step-rate but not exceeding the configured rate.
1552
- * The trajectory state can be one of the following:
1553
- * - RUNNING: Trajectory is being executed.
1554
- * - PAUSED_BY_USER: User has paused execution.
1555
- * - END_OF_TRAJECTORY: First or last sample (depending on direction) of trajectory has been sent.
1556
- * - WAIT_FOR_IO: Waiting for an I/O event to start execution.
1557
- * - PAUSED_ON_IO: Execution was paused because of an I/O event.
1558
- *
1559
- *
1560
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1561
- * via the `definition` "TrajectoryDetails".
1562
- */
1563
- interface TrajectoryDetails {
1564
- /**
1565
- * Unique identifier of the trajectory being executed.
1566
- *
1567
- */
1568
- trajectory: string;
1569
- /**
1570
- * Location of current joint position commmand on the trajectory being executed.
1571
- *
1572
- */
1573
- location: number;
1574
- state: TrajectoryRunning | TrajectoryPausedByUser | TrajectoryEnded | TrajectoryWaitForIO | TrajectoryPausedOnIO;
1575
- /**
1576
- * Discriminator for OpenApi generators, which is always "TRAJECTORY" for this schema.
1577
- *
1578
- */
1579
- kind: "TRAJECTORY";
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
- }
1599
- /**
1600
- * Presents the current state of the motion group.
1601
- *
1602
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1603
- * via the `definition` "MotionGroupState".
1604
- */
1605
- interface MotionGroupState {
1606
- /**
1607
- * Timestamp for when data was received from the robot controller.
1608
- */
1609
- timestamp: string;
1610
- /**
1611
- * Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
1612
- * The sequence number is reset when the connection to the physical controller is closed and re-established.
1613
- *
1614
- */
1615
- sequence_number: number;
1616
- /**
1617
- * Identifier of the motion group.
1618
- */
1619
- motion_group: string;
1620
- /**
1621
- * Convenience: Identifier of the robot controller the motion group is attached to.
1622
- */
1623
- controller: string;
1624
- joint_position: Joints1;
1625
- joint_limit_reached: MotionGroupState_JointLimitReached1;
1626
- joint_torque?: Joints2;
1627
- joint_current?: Joints3;
1628
- flange_pose?: Pose1;
1629
- /**
1630
- * Unique identifier addressing the active TCP.
1631
- * Might not be returned for positioners as some do not support TCPs, depending on the model.
1632
- *
1633
- */
1634
- tcp?: string;
1635
- tcp_pose?: Pose2;
1636
- /**
1637
- * Unique identifier addressing the reference coordinate system of the cartesian data.
1638
- * Might not be returned for positioners as some do not support TCPs, depending on the model.
1639
- * Default: world coordinate system of corresponding controller.
1640
- *
1641
- */
1642
- coordinate_system?: string;
1643
- /**
1644
- * Unique identifier addressing the active payload.
1645
- * Only fetchable via GET endpoint, not available in WebSocket.
1646
- *
1647
- */
1648
- payload?: string;
1649
- /**
1650
- * Indicates whether the motion group is in standstill.
1651
- * Convenience: Signals that NOVA treats measured joint velocities as 0.
1652
- *
1653
- */
1654
- standstill: boolean;
1655
- execute?: Execute1;
1656
- /**
1657
- * Revision number of the motion group description.
1658
- * The revision is incremented whenever the motion group description changes due to a modification of the tools or the payloads in the robot configuration.
1659
- * The robot controller is polled every 10 s during Monitoring Mode to detect those changes.
1660
- * Use to trigger fetching based on robot configuration changes.
1661
- *
1662
- */
1663
- description_revision: number;
1664
- }
1665
- /**
1666
- * Indicates whether the joint is in a limit for all joints of the motion group.
1667
- *
1668
- */
1669
- interface MotionGroupState_JointLimitReached1 {
1670
- /**
1671
- * If true, operational (soft) jointLimit is reached for specific joint.
1672
- */
1673
- limit_reached: boolean[];
1674
- }
1675
- /**
1676
- * Defines a pose in 3D space.
1677
- * A pose is a combination of a position and an orientation.
1678
- * The position is applied before the orientation.
1679
- *
1680
- */
1681
- interface Pose1 {
1682
- position?: Vector3D;
1683
- orientation?: RotationVector;
1684
- }
1685
- /**
1686
- * Defines a pose in 3D space.
1687
- * A pose is a combination of a position and an orientation.
1688
- * The position is applied before the orientation.
1689
- *
1690
- */
1691
- interface Pose2 {
1692
- position?: Vector3D;
1693
- orientation?: RotationVector;
1694
- }
1695
- /**
1696
- * Data that was commanded to the motion group. Includes additional data on NOVA's execution components for executing trajectories and jogging.
1697
- * This is a convenience field to indicate the last command sent to the motion group.
1698
- * It is not available in all cases, e.g., if the motion group is not moved by NOVA.
1699
- *
1700
- */
1701
- interface Execute1 {
1702
- /**
1703
- * Commanded joint position of each joint. This command was sent in the time step the corresponding state was received.
1704
- * 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].
1705
- *
1706
- */
1707
- joint_position: number[];
1708
- details?: JoggingDetails | TrajectoryDetails;
1709
- }
1710
- /**
1711
- * Returns the whole current state of robot controller.
1712
- *
1713
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1714
- * via the `definition` "RobotControllerState".
1715
- */
1716
- interface RobotControllerState {
1717
- /**
1718
- * Mode of communication and control between NOVA and the robot controller.
1719
- */
1720
- mode: "MODE_CONTROLLER_NOT_CONFIGURED" | "MODE_INITIALIZING" | "MODE_MONITOR" | "MODE_CONTROL" | "MODE_FREE_DRIVE";
1721
- /**
1722
- * Last error stack encountered during initialization process or after a controller disconnect.
1723
- * At this stage, it's unclear whether the error is fatal.
1724
- *
1725
- * Evaluate `last_error` to decide whether to remove the controller using `deleteController`.
1726
- * Examples:
1727
- * - Delete required: Host resolution fails repeatedly due to an incorrect IP.
1728
- * - Delete not required: Temporary network delay caused a disconnect; the system will auto-reconnect.
1729
- *
1730
- */
1731
- last_error?: string[];
1732
- /**
1733
- * Timestamp indicating when the represented information was received from the robot controller.
1734
- */
1735
- timestamp: string;
1736
- /**
1737
- * Sequence number of the controller state. It starts with 0 upon establishing the connection with a physical controller.
1738
- * The sequence number is reset when the connection to the physical controller is closed and re-established.
1739
- *
1740
- */
1741
- sequence_number: number;
1742
- /**
1743
- * Identifier of the configured robot controller.
1744
- */
1745
- controller: string;
1746
- operation_mode: OperationMode;
1747
- safety_state: SafetyStateType;
1748
- /**
1749
- * If made available by the robot controller, returns the current velocity override in
1750
- * [percentage] for movements adjusted on robot control panel.
1751
- * Valid value range: 1 - 100.
1752
- *
1753
- */
1754
- velocity_override?: number;
1755
- motion_groups: MotionGroupState1;
1756
- }
1757
- /**
1758
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1759
- * via the `definition` "TcpOffset".
1760
- */
1761
- interface TcpOffset {
1762
- /**
1763
- * A readable and changeable name for frontend visualization.
1764
- */
1765
- name: string;
1766
- pose: Pose;
1767
- }
1768
- /**
1769
- * The upper_limit must be greater then the lower_limit.
1770
- *
1771
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1772
- * via the `definition` "LimitRange".
1773
- */
1774
- interface LimitRange {
1775
- lower_limit?: number;
1776
- upper_limit?: number;
1777
- }
1778
- /**
1779
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1780
- * via the `definition` "JointLimits".
1781
- */
1782
- interface JointLimits {
1783
- position?: LimitRange;
1784
- velocity?: number;
1785
- acceleration?: number;
1786
- /**
1787
- * > **NOTE**
1788
- * >
1789
- * > This limit type is experimental and its behavior may change in future releases.
1790
- *
1791
- */
1792
- jerk?: number;
1793
- torque?: number;
1794
- }
1795
- /**
1796
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1797
- * via the `definition` "CartesianLimits".
1798
- */
1799
- interface CartesianLimits {
1800
- velocity?: number;
1801
- acceleration?: number;
1802
- /**
1803
- * > **NOTE**
1804
- * >
1805
- * > This limit type is experimental and its behavior may change in future releases.
1806
- *
1807
- */
1808
- jerk?: number;
1809
- orientation_velocity?: number;
1810
- orientation_acceleration?: number;
1811
- /**
1812
- * > **NOTE**
1813
- * >
1814
- * > This limit type is experimental and its behavior may change in future releases.
1815
- *
1816
- */
1817
- orientation_jerk?: number;
1818
- }
1819
- /**
1820
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1821
- * via the `definition` "LimitSet".
1822
- */
1823
- interface LimitSet {
1824
- joints?: JointLimits[];
1825
- tcp?: CartesianLimits;
1826
- elbow?: CartesianLimits;
1827
- flange?: CartesianLimits;
1828
- coupled_shoulder_elbow_joint?: JointLimits;
1829
- }
1830
- /**
1831
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1832
- * via the `definition` "OperationLimits".
1833
- */
1834
- interface OperationLimits {
1835
- auto_limits?: LimitSet;
1836
- manual_limits?: LimitSet;
1837
- manual_t1_limits?: LimitSet;
1838
- manual_t2_limits?: LimitSet;
1839
- /**
1840
- * Flag to indicate whether the TCP velocity limit is also applied for the elbow and flange in auto mode.
1841
- */
1842
- safety_limit_elbow_flange_velocity_in_auto?: boolean;
1843
- }
1844
- /**
1845
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1846
- * via the `definition` "Payload".
1847
- */
1848
- interface Payload {
1849
- name: string;
1850
- /**
1851
- * Mass of payload in [kg].
1852
- */
1853
- payload: number;
1854
- center_of_mass?: Vector3D1;
1855
- moment_of_inertia?: Vector3D2;
1856
- }
1857
- /**
1858
- * A single set of DH parameters.
1859
- *
1860
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1861
- * via the `definition` "DHParameter".
1862
- */
1863
- interface DHParameter {
1864
- /**
1865
- * Angle about x-axis in [rad].
1866
- */
1867
- alpha?: number;
1868
- /**
1869
- * Angle about z-axis in [rad].
1870
- */
1871
- theta?: number;
1872
- /**
1873
- * Offset along x-axis in [mm].
1874
- */
1875
- a?: number;
1876
- /**
1877
- * Offset along z-axis in [mm].
1878
- */
1879
- d?: number;
1880
- /**
1881
- * True, if rotation direction of joint is reversed.
1882
- */
1883
- reverse_rotation_direction?: boolean;
1884
- type?: JointTypeEnum;
1885
- }
1886
- /**
1887
- * The configuration of a motion-group used for motion planning.
1888
- * The parameters `mounting`, `kinematic_chain_offset`, `dh_parameters`, `flange_offset` and `tcp_offset` are used to model the kinematic structure of the motion group.
1889
- * They can be used to compute the coordinate transformations from world to tcp frame:
1890
- * [world frame] -> mounting -> [base frame] -> kinematic chain offset + motion group kinematics (Denavit-Hartenberg parameters) -> [end of kinematic chain frame]
1891
- * -> flange_offset -> [flange frame] -> tcp_offset -> [tcp frame].
1892
- *
1893
- *
1894
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
1895
- * via the `definition` "MotionGroupDescription".
1896
- */
1897
- interface MotionGroupDescription {
1898
- motion_group_model: MotionGroupModel;
1899
- mounting?: Pose3;
1900
- tcps?: TcpOffsetDictionary;
1901
- safety_zones?: ColliderDictionary2;
1902
- /**
1903
- * The shape of the MotionGroups links to validate against safety zones.
1904
- * Indexed along the kinematic chain, starting with a static base shape before first joint.
1905
- *
1906
- */
1907
- safety_link_colliders?: ColliderDictionary[];
1908
- safety_tool_colliders?: SafetyToolColliders;
1909
- operation_limits: OperationLimits;
1910
- payloads?: PayloadDictionary;
1911
- /**
1912
- * [ms] cycle time of the motion group controller. A trajectory for this motion group should be computed to this resolution.
1913
- */
1914
- cycle_time?: number;
1915
- /**
1916
- * The Denavit-Hartenberg parameters describing the motion group kinematics.
1917
- */
1918
- dh_parameters?: DHParameter[];
1919
- kinematic_chain_offset?: Pose4;
1920
- flange_offset?: Pose5;
1921
- /**
1922
- * The serial number of the motion group, if available. If not available, the serial number of the robot controller. If not available, empty.
1923
- *
1924
- */
1925
- serial_number?: string;
1926
- /**
1927
- * Revision number of the motion group description.
1928
- * The revision is incremented whenever the motion group description changes due to a modification of the tools or the payloads in the robot configuration.
1929
- * The robot controller is polled every 10 s in Monitoring Mode to detect those changes.
1930
- * Use to detect changes since the last retrieval.
1931
- *
1932
- */
1933
- description_revision?: number;
1934
- }
1935
- /**
1936
- * Defines a pose in 3D space.
1937
- * A pose is a combination of a position and an orientation.
1938
- * The position is applied before the orientation.
1939
- *
1940
- */
1941
- interface Pose3 {
1942
- position?: Vector3D;
1943
- orientation?: RotationVector;
1944
- }
1945
- /**
1946
- * Maps a TCP name to its offset relative to the flange coordinate system. Key must be a TCP identifier.
1947
- * Values are TcpOffsets.
1948
- *
1949
- */
1950
- interface TcpOffsetDictionary {
1951
- [k: string]: TcpOffset;
1952
- }
1953
- /**
1954
- * SafetyZones are areas which cannot be entered or where certain limits apply.
1955
- * SafetyZones are defined in the world coordinate system.
1956
- *
1957
- */
1958
- interface ColliderDictionary2 {
1959
- [k: string]: Collider;
1960
- }
1961
- /**
1962
- * Maps a TCP name to its tool collider. Key must be a TCP identifier.
1963
- * Values are ColliderDictionaries that make up the shape of one tool to validate against safety zones.
1964
- *
1965
- */
1966
- interface SafetyToolColliders {
1967
- [k: string]: ColliderDictionary;
1968
- }
1969
- /**
1970
- * Maps a payload name to its configuration. Key must be a payload identifier.
1971
- * Values are payload objects.
1972
- *
1973
- */
1974
- interface PayloadDictionary {
1975
- [k: string]: Payload;
1976
- }
1977
- /**
1978
- * Defines a pose in 3D space.
1979
- * A pose is a combination of a position and an orientation.
1980
- * The position is applied before the orientation.
1981
- *
1982
- */
1983
- interface Pose4 {
1984
- position?: Vector3D;
1985
- orientation?: RotationVector;
1986
- }
1987
- /**
1988
- * Defines a pose in 3D space.
1989
- * A pose is a combination of a position and an orientation.
1990
- * The position is applied before the orientation.
1991
- *
1992
- */
1993
- interface Pose5 {
1994
- position?: Vector3D;
1995
- orientation?: RotationVector;
1996
- }
1997
- /**
1998
- * CloudEvents specification v1.0.2 compliant event structure.
1999
- * This schema defines the standardized format for event data across all NOVA services.
2000
- *
2001
- *
2002
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2003
- * via the `definition` "CloudEvent".
2004
- */
2005
- interface CloudEvent {
2006
- /**
2007
- * The version of the CloudEvents specification which the event uses
2008
- */
2009
- specversion: "1.0";
2010
- /**
2011
- * Type of the event related to the source occurrence
2012
- */
2013
- type: string;
2014
- /**
2015
- * Identifies the context in which an event happened
2016
- */
2017
- source: string;
2018
- /**
2019
- * Unique identifier for the event
2020
- */
2021
- id: string;
2022
- /**
2023
- * Timestamp of when the occurrence happened (RFC3339)
2024
- */
2025
- time?: string;
2026
- /**
2027
- * Content type of the data value
2028
- */
2029
- datacontenttype?: string;
2030
- /**
2031
- * URI reference that identifies the schema that the data adheres to
2032
- */
2033
- dataschema?: string;
2034
- /**
2035
- * Subject of the event in the context of the event producer
2036
- */
2037
- subject?: string;
2038
- /**
2039
- * The event payload specific to the event type
2040
- */
2041
- data?: {
2042
- [k: string]: unknown;
2043
- };
2044
- }
2045
- /**
2046
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2047
- * via the `definition` "NetworkState".
2048
- */
2049
- interface NetworkState {
2050
- /**
2051
- * Indicates whether the system is connected to the internet.
2052
- *
2053
- */
2054
- internet_connected: boolean;
2055
- /**
2056
- * Type of the active network link (e.g., ethernet, wifi, cellular, vpn, unknown).
2057
- *
2058
- */
2059
- connection_type?: "ethernet" | "wifi" | "cellular" | "vpn" | "unknown";
2060
- /**
2061
- * Received signal strength in dBm for wireless interfaces; negative values indicate weaker signals.
2062
- *
2063
- */
2064
- signal_strength?: number;
2065
- /**
2066
- * Normalized link quality metric from 0 (poor) to 1 (excellent) when provided by the interface.
2067
- *
2068
- */
2069
- link_quality?: number;
2070
- /**
2071
- * Round-trip latency to the probe endpoint measured in milliseconds.
2072
- *
2073
- */
2074
- latency_ms?: number;
2075
- /**
2076
- * Estimated downstream bandwidth in megabits per second based on the probe.
2077
- *
2078
- */
2079
- bandwidth_mbps?: number;
2080
- }
2081
- /**
2082
- * CloudEvents v1.0 compliant event published when system network status changes.
2083
- * This event wraps the NetworkState payload in a standard CloudEvents envelope.
2084
- *
2085
- *
2086
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2087
- * via the `definition` "NetworkStatusChangedEvent".
2088
- */
2089
- interface NetworkStatusChangedEvent {
2090
- /**
2091
- * The version of the CloudEvents specification which the event uses
2092
- */
2093
- specversion: "1.0";
2094
- /**
2095
- * Type of the event related to the source occurrence
2096
- */
2097
- type: "nova.v2.events.system.network.status.changed";
2098
- /**
2099
- * Identifies the context in which an event happened
2100
- */
2101
- source: "/nova/system-info";
2102
- /**
2103
- * Unique identifier for this network status change event
2104
- */
2105
- id: string;
2106
- /**
2107
- * Timestamp when the network status changed (RFC3339)
2108
- */
2109
- time: string;
2110
- /**
2111
- * Content type of the data value
2112
- */
2113
- datacontenttype?: string;
2114
- data: NetworkState;
2115
- }
2116
- /**
2117
- * Payload for a cell lifecycle event.
2118
- *
2119
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2120
- * via the `definition` "CellEventData".
2121
- */
2122
- interface CellEventData {
2123
- /**
2124
- * Chart version of the cell foundation release.
2125
- */
2126
- version: string;
2127
- operating_state: OperatingState;
2128
- }
2129
- /**
2130
- * Payload for an app lifecycle event.
2131
- *
2132
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2133
- * via the `definition` "AppEventData".
2134
- */
2135
- interface AppEventData {
2136
- /**
2137
- * OCI image reference of the app release.
2138
- */
2139
- image: string;
2140
- operating_state: OperatingState;
2141
- }
2142
- /**
2143
- * Payload for a robot controller lifecycle event.
2144
- *
2145
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2146
- * via the `definition` "RobotControllerEventData".
2147
- */
2148
- interface RobotControllerEventData {
2149
- manufacturer: Manufacturer;
2150
- /**
2151
- * Indicates whether the controller is virtual.
2152
- */
2153
- virtual: boolean;
2154
- operating_state: OperatingState;
2155
- }
2156
- /**
2157
- * This interface was referenced by `GeneratedNatsPayloadsRoot`'s JSON-Schema
2158
- * via the `definition` "NatsErrorPayload".
2159
- */
2160
- interface NatsErrorPayload {
2161
- code?: string;
2162
- message: string;
2163
- }
2164
- //#endregion
2165
- //#region src/lib/experimental/nats/generated/operations.d.ts
2166
- /** Subject parameters required by each NATS subject, e.g. "nova.v2.cells.{cell}". */
2167
- 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
- */
2177
- "nova.v2.cells.{cell}": {
2178
- /**
2179
- * Unique identifier addressing a cell in all API calls.
2180
- */
2181
- cell: string;
2182
- };
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
- */
2192
- "nova.v2.cells.{cell}.apps.{app}": {
2193
- /**
2194
- * Unique identifier addressing a cell in all API calls.
2195
- */
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
- */
2201
- app: string;
2202
- };
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
- */
2211
- "nova.v2.cells.{cell}.programs": {
2212
- /**
2213
- * Unique identifier addressing a cell in all API calls.
2214
- */
2215
- cell: string;
2216
- };
2217
- /**
2218
- * Robot Controller Configuration
2219
- *
2220
- * Publishes the configuration of a robot controller.
2221
- *
2222
- * @operationId publishRobotController
2223
- */
2224
- "nova.v2.cells.{cell}.controllers.{controller}": {
2225
- /**
2226
- * Unique identifier addressing a cell in all API calls.
2227
- */
2228
- cell: string;
2229
- /**
2230
- * Unique identifier to address a controller in the cell.
2231
- */
2232
- controller: string;
2233
- };
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
- */
2243
- "nova.v2.cells.{cell}.status": {
2244
- /**
2245
- * Unique identifier addressing a cell in all API calls.
2246
- */
2247
- cell: string;
2248
- };
2249
- /**
2250
- * Cell Cycle Event
2251
- *
2252
- * Publishes the cycle events for a cell.
2253
- *
2254
- * @operationId publishCellCycle
2255
- */
2256
- "nova.v2.cells.{cell}.cycle": {
2257
- /**
2258
- * Unique identifier addressing a cell in all API calls.
2259
- */
2260
- cell: string;
2261
- };
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
- */
2281
- "nova.v2.cells.{cell}.collision.setups.{setup}": {
2282
- /**
2283
- * Unique identifier addressing a cell in all API calls.
2284
- */
2285
- cell: string;
2286
- /**
2287
- * Unique identifier addressing a collision setup.
2288
- */
2289
- setup: string;
2290
- };
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
- */
2300
- "nova.v2.cells.{cell}.bus-ios.status": {
2301
- /**
2302
- * Unique identifier addressing a cell in all API calls.
2303
- */
2304
- cell: string;
2305
- };
2306
- /**
2307
- * BUS Input/Output Values
2308
- *
2309
- * Publishes updates of BUS input/output values.
2310
- *
2311
- * @operationId publishBUSIOsIOs
2312
- */
2313
- "nova.v2.cells.{cell}.bus-ios.ios": {
2314
- /**
2315
- * Unique identifier addressing a cell in all API calls.
2316
- */
2317
- cell: string;
2318
- };
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
- */
2327
- "nova.v2.cells.{cell}.bus-ios.ios.set": {
2328
- /**
2329
- * Unique identifier addressing a cell in all API calls.
2330
- */
2331
- cell: string;
2332
- };
2333
- /**
2334
- * Select Input/Output Values
2335
- *
2336
- * Select input/output values published by the controller.
2337
- *
2338
- * @operationId selectRobotControllerIOs
2339
- */
2340
- "nova.v2.cells.{cell}.controllers.{controller}.ios.select": {
2341
- /**
2342
- * Unique identifier addressing a cell in all API calls.
2343
- */
2344
- cell: string;
2345
- /**
2346
- * Unique identifier to address a controller in a cell.
2347
- */
2348
- controller: string;
2349
- };
2350
- /**
2351
- * Input/Output Values
2352
- *
2353
- * Publishes updates of input/output values.
2354
- *
2355
- * @operationId publishRobotControllerIOs
2356
- */
2357
- "nova.v2.cells.{cell}.controllers.{controller}.ios": {
2358
- /**
2359
- * Unique identifier addressing a cell in all API calls.
2360
- */
2361
- cell: string;
2362
- /**
2363
- * Unique identifier to address a controller in the cell.
2364
- */
2365
- controller: string;
2366
- };
2367
- /**
2368
- * State of Robot Controller
2369
- *
2370
- * Publishes the current state of a robot controller.
2371
- *
2372
- * @operationId publishRobotControllersState
2373
- */
2374
- "nova.v2.cells.{cell}.controllers.{controller}.state": {
2375
- /**
2376
- * Unique identifier addressing a cell in all API calls.
2377
- */
2378
- cell: string;
2379
- /**
2380
- * Unique identifier to address a controller in the cell.
2381
- */
2382
- controller: string;
2383
- };
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
- */
2391
- "nova.v2.cells.{cell}.controllers.{controller}.motion-groups.{motion-group}.description": {
2392
- /**
2393
- * Unique identifier addressing a cell in all API calls.
2394
- */
2395
- cell: string;
2396
- /**
2397
- * Unique identifier addressing a controller in the cell.
2398
- */
2399
- controller: string;
2400
- /**
2401
- * Motion group identifier.
2402
- */
2403
- "motion-group": string;
2404
- };
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
- */
2457
- "nova.v2.events.cells.{cell}.created": {
2458
- /**
2459
- * Unique identifier addressing a cell in all API calls.
2460
- */
2461
- cell: string;
2462
- };
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
- */
2472
- "nova.v2.events.cells.{cell}.updated": {
2473
- /**
2474
- * Unique identifier addressing a cell in all API calls.
2475
- */
2476
- cell: string;
2477
- };
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
- */
2487
- "nova.v2.events.cells.{cell}.deleted": {
2488
- /**
2489
- * Unique identifier addressing a cell in all API calls.
2490
- */
2491
- cell: string;
2492
- };
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
- */
2502
- "nova.v2.events.cells.{cell}.apps.{app}.created": {
2503
- /**
2504
- * Unique identifier addressing a cell in all API calls.
2505
- */
2506
- cell: string;
2507
- /**
2508
- * Unique identifier addressing an app in the cell.
2509
- */
2510
- app: string;
2511
- };
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
- */
2521
- "nova.v2.events.cells.{cell}.apps.{app}.updated": {
2522
- /**
2523
- * Unique identifier addressing a cell in all API calls.
2524
- */
2525
- cell: string;
2526
- /**
2527
- * Unique identifier addressing an app in the cell.
2528
- */
2529
- app: string;
2530
- };
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;
2549
- };
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
- */
2559
- "nova.v2.events.cells.{cell}.controllers.{controller}.created": {
2560
- /**
2561
- * Unique identifier addressing a cell in all API calls.
2562
- */
2563
- cell: string;
2564
- /**
2565
- * Unique identifier to address a controller in the cell.
2566
- */
2567
- controller: string;
2568
- };
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
- */
2578
- "nova.v2.events.cells.{cell}.controllers.{controller}.updated": {
2579
- /**
2580
- * Unique identifier addressing a cell in all API calls.
2581
- */
2582
- cell: string;
2583
- /**
2584
- * Unique identifier to address a controller in the cell.
2585
- */
2586
- controller: string;
2587
- };
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
- */
2597
- "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": {
2598
- /**
2599
- * Unique identifier addressing a cell in all API calls.
2600
- */
2601
- cell: string;
2602
- /**
2603
- * Unique identifier to address a controller in the cell.
2604
- */
2605
- controller: string;
2606
- };
2607
- }
2608
- /** Payload types for subjects the server publishes and the client subscribes to. */
2609
- 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
- */
2619
- "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
- */
2629
- "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
- */
2638
- "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
- */
2646
- "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
- */
2656
- "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
- */
2664
- "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
- */
2674
- "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
- */
2684
- "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
- */
2694
- "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
- */
2702
- "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
- */
2710
- "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
- */
2718
- "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
- */
2726
- "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
- */
2740
- "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
- */
2755
- "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
- */
2769
- "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
- */
2779
- "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
- */
2789
- "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
- */
2799
- "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
- */
2809
- "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
- */
2819
- "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
- */
2829
- "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
- */
2839
- "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
- */
2849
- "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
- */
2859
- "nova.v2.events.cells.{cell}.controllers.{controller}.deleted": RobotControllerDeletedEvent;
2860
- }
2861
- type NatsSubscribeSubject = keyof NatsSubscribePayloads;
2862
- /** Request payload types for subjects the client sends requests to. */
2863
- 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
- */
2872
- "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
- */
2880
- "nova.v2.cells.{cell}.controllers.{controller}.ios.select": SelectIOs;
2881
- }
2882
- /** Reply payload types for request/reply subjects. */
2883
- 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
- */
2892
- "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
- */
2900
- "nova.v2.cells.{cell}.controllers.{controller}.ios.select": NatsErrorPayload;
2901
- }
2902
- 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
- //#endregion
3175
- //#region src/lib/experimental/nats/NovaNatsClient.d.ts
3176
- 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
- /**
3180
- * Typed NATS client for the Wandelbots NOVA messaging API, generated from
3181
- * src/asyncapi.yaml (see scripts/generate-nats-client.ts).
3182
- *
3183
- * Connects over WebSocket via `@nats-io/nats-core`'s `wsconnect`.
3184
- */
3185
- declare class NovaNatsClient {
3186
- 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
- */
3194
- connect(): Promise<NatsConnection>;
3195
- /** Closes the underlying NATS connection, if open or connecting. */
3196
- close(): Promise<void>;
3197
- /**
3198
- * Subscribes to a NATS subject published by the server, invoking `handler`
3199
- * with the JSON-decoded payload of every message received.
3200
- *
3201
- * `subject` is the subject template as it appears on the wire, e.g.
3202
- * `"nova.v2.cells.{cell}"`, with `{param}` placeholders filled in from
3203
- * `params`.
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
- *
3209
- * Returns a function that unsubscribes when called.
3210
- */
3211
- subscribe<K extends NatsSubscribeSubject>(subject: K, ...args: SubscribeArgs<K>): Promise<() => void>;
3212
- /**
3213
- * Sends a request payload for a NATS subject the server receives, and
3214
- * waits for the JSON-decoded reply.
3215
- *
3216
- * `subject` is the subject template as it appears on the wire, e.g.
3217
- * `"nova.v2.cells.{cell}.bus-ios.ios.set"`, with `{param}` placeholders
3218
- * filled in from `params`.
3219
- */
3220
- request<K extends NatsRequestSubject>(subject: K, params: NatsOperationParams[K], payload: NatsRequestPayloads[K], opts?: {
3221
- timeout?: number;
3222
- }): 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
- }
3233
- //#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 };
3235
- //# sourceMappingURL=index.d.cts.map