@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,356 +0,0 @@
1
- import { r as MockNovaInstance, t as AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-1K2J1NA4.cjs";
2
- import { AxiosInstance } from "axios";
3
- import { ApplicationApi, CellApi, Configuration, ControllerApi, ControllerIOsApi, ControllerInstance, CoordinateSystemsApi, DeviceConfigurationApi, Joints, LibraryProgramApi, LibraryProgramMetadataApi, LibraryRecipeApi, LibraryRecipeMetadataApi, MotionApi, MotionGroupApi, MotionGroupInfosApi, MotionGroupJoggingApi, MotionGroupKinematicApi, MotionGroupPhysical, MotionGroupSpecification, MotionGroupStateResponse, Mounting, Pose, ProgramApi, ProgramValuesApi, RobotControllerState, RobotTcp, SafetySetup, StoreCollisionComponentsApi, StoreCollisionScenesApi, StoreObjectApi, SystemApi, TcpPose, VirtualRobotApi, VirtualRobotBehaviorApi, VirtualRobotModeApi, VirtualRobotSetupApi } from "@wandelbots/nova-api/v1";
4
- import * as THREE from "three";
5
-
6
- //#region src/lib/deprecated/v1/ConnectedMotionGroup.d.ts
7
- /** @deprecated */
8
- type MotionGroupOption = {
9
- selectionId: string;
10
- } & MotionGroupPhysical;
11
- /**
12
- * Store representing the current state of a connected motion group.
13
- * @deprecated
14
- */
15
- declare class ConnectedMotionGroup {
16
- static connect(nova: NovaClient, motionGroupId: string, controllers: ControllerInstance[]): Promise<ConnectedMotionGroup>;
17
- connectedJoggingCartesianSocket: WebSocket | null;
18
- connectedJoggingJointsSocket: WebSocket | null;
19
- planData: any | null;
20
- joggingVelocity: number;
21
- rapidlyChangingMotionState: MotionGroupStateResponse;
22
- controllerState: RobotControllerState;
23
- /**
24
- * Reflects activation state of the motion group / robot servos. The
25
- * movement controls in the UI should only be enabled in the "active" state
26
- */
27
- activationState: "inactive" | "activating" | "deactivating" | "active";
28
- readonly nova: NovaClient;
29
- readonly controller: ControllerInstance;
30
- readonly motionGroup: MotionGroupPhysical;
31
- readonly initialMotionState: MotionGroupStateResponse;
32
- readonly motionStateSocket: AutoReconnectingWebsocket;
33
- readonly isVirtual: boolean;
34
- readonly tcps: RobotTcp[];
35
- readonly motionGroupSpecification: MotionGroupSpecification;
36
- readonly safetySetup: SafetySetup;
37
- readonly mounting: Mounting | null;
38
- readonly initialControllerState: RobotControllerState;
39
- readonly controllerStateSocket: AutoReconnectingWebsocket;
40
- constructor(nova: NovaClient, controller: ControllerInstance, motionGroup: MotionGroupPhysical, initialMotionState: MotionGroupStateResponse, motionStateSocket: AutoReconnectingWebsocket, isVirtual: boolean, tcps: RobotTcp[], motionGroupSpecification: MotionGroupSpecification, safetySetup: SafetySetup, mounting: Mounting | null, initialControllerState: RobotControllerState, controllerStateSocket: AutoReconnectingWebsocket);
41
- get motionGroupId(): string;
42
- get controllerId(): string;
43
- get modelFromController(): string | undefined;
44
- get wandelscriptIdentifier(): string;
45
- /** Jogging velocity in radians for rotation and joint movement */
46
- get joggingVelocityRads(): number;
47
- get joints(): {
48
- index: number;
49
- }[];
50
- get dhParameters(): import("@wandelbots/nova-api/v1").DHParameter[] | undefined;
51
- get safetyZones(): import("@wandelbots/nova-api/v1").SafetySetupSafetyZone[] | undefined;
52
- /** Gets the robot mounting position offset in 3D viz coordinates */
53
- get mountingPosition(): [number, number, number];
54
- /** Gets the robot mounting position rotation in 3D viz coordinates */
55
- get mountingQuaternion(): THREE.Quaternion;
56
- /**
57
- * Whether the controller is currently in a safety state
58
- * corresponding to an emergency stop
59
- */
60
- get isEstopActive(): boolean;
61
- /**
62
- * Whether the controller is in a safety state
63
- * that may be non-functional for robot pad purposes
64
- */
65
- get isMoveableSafetyState(): boolean;
66
- /**
67
- * Whether the controller is in an operation mode that allows movement
68
- */
69
- get isMoveableOperationMode(): boolean;
70
- /**
71
- * Whether the robot is currently active and can be moved, based on the
72
- * safety state, operation mode and servo toggle activation state.
73
- */
74
- get canBeMoved(): boolean;
75
- deactivate(): Promise<void>;
76
- activate(): Promise<void>;
77
- toggleActivation(): void;
78
- dispose(): void;
79
- setJoggingVelocity(velocity: number): void;
80
- }
81
- //#endregion
82
- //#region src/lib/deprecated/v1/MotionStreamConnection.d.ts
83
- /**
84
- * Store representing the current state of a connected motion group.
85
- * @deprecated
86
- */
87
- declare class MotionStreamConnection {
88
- static open(nova: NovaClient, motionGroupId: string): Promise<MotionStreamConnection>;
89
- rapidlyChangingMotionState: MotionGroupStateResponse;
90
- readonly nova: NovaClient;
91
- readonly controller: ControllerInstance;
92
- readonly motionGroup: MotionGroupPhysical;
93
- readonly initialMotionState: MotionGroupStateResponse;
94
- readonly motionStateSocket: AutoReconnectingWebsocket;
95
- constructor(nova: NovaClient, controller: ControllerInstance, motionGroup: MotionGroupPhysical, initialMotionState: MotionGroupStateResponse, motionStateSocket: AutoReconnectingWebsocket);
96
- get motionGroupId(): string;
97
- get controllerId(): string;
98
- get modelFromController(): string | undefined;
99
- get wandelscriptIdentifier(): string;
100
- get joints(): {
101
- index: number;
102
- }[];
103
- dispose(): void;
104
- }
105
- //#endregion
106
- //#region src/lib/deprecated/v1/JoggerConnection.d.ts
107
- /** @deprecated */
108
- type JoggerConnectionOpts = {
109
- /**
110
- * When an error message is received from the jogging websocket, it
111
- * will be passed here. If this handler is not provided, the error will
112
- * instead be thrown as an unhandled error.
113
- */
114
- onError?: (err: unknown) => void;
115
- };
116
- /** @deprecated */
117
- declare class JoggerConnection {
118
- cartesianWebsocket: AutoReconnectingWebsocket | null;
119
- jointWebsocket: AutoReconnectingWebsocket | null;
120
- cartesianJoggingOpts: {
121
- tcpId?: string;
122
- coordSystemId?: string;
123
- };
124
- static open(nova: NovaClient, motionGroupId: string, opts?: JoggerConnectionOpts): Promise<JoggerConnection>;
125
- readonly motionStream: MotionStreamConnection;
126
- readonly opts: JoggerConnectionOpts;
127
- constructor(motionStream: MotionStreamConnection, opts?: JoggerConnectionOpts);
128
- get motionGroupId(): string;
129
- get nova(): NovaClient;
130
- get numJoints(): number;
131
- get activeJoggingMode(): "cartesian" | "joint" | "increment";
132
- get activeWebsocket(): AutoReconnectingWebsocket | null;
133
- stop(): Promise<void>;
134
- dispose(): void;
135
- setJoggingMode(mode: "cartesian" | "joint" | "increment", cartesianJoggingOpts?: {
136
- tcpId?: string;
137
- coordSystemId?: string;
138
- }): void;
139
- /**
140
- * Start rotation of a single robot joint at the specified velocity
141
- */
142
- startJointRotation({
143
- joint,
144
- direction,
145
- velocityRadsPerSec
146
- }: {
147
- /** Index of the joint to rotate */joint: number; /** Direction of rotation ("+" or "-") */
148
- direction: "+" | "-"; /** Speed of the rotation in radians per second */
149
- velocityRadsPerSec: number;
150
- }): Promise<void>;
151
- /**
152
- * Start the TCP moving along a specified axis at a given velocity
153
- */
154
- startTCPTranslation({
155
- axis,
156
- direction,
157
- velocityMmPerSec
158
- }: {
159
- axis: "x" | "y" | "z";
160
- direction: "-" | "+";
161
- velocityMmPerSec: number;
162
- }): Promise<void>;
163
- /**
164
- * Start the TCP rotating around a specified axis at a given velocity
165
- */
166
- startTCPRotation({
167
- axis,
168
- direction,
169
- velocityRadsPerSec
170
- }: {
171
- axis: "x" | "y" | "z";
172
- direction: "-" | "+";
173
- velocityRadsPerSec: number;
174
- }): Promise<void>;
175
- /**
176
- * Move the robot by a fixed distance in a single cartesian
177
- * axis, either rotating or translating relative to the TCP.
178
- * Promise resolves only after the motion has completed.
179
- */
180
- runIncrementalCartesianMotion({
181
- currentTcpPose,
182
- currentJoints,
183
- coordSystemId,
184
- velocityInRelevantUnits,
185
- axis,
186
- direction,
187
- motion
188
- }: {
189
- currentTcpPose: TcpPose;
190
- currentJoints: Joints;
191
- coordSystemId: string;
192
- velocityInRelevantUnits: number;
193
- axis: "x" | "y" | "z";
194
- direction: "-" | "+";
195
- motion: {
196
- type: "rotate";
197
- distanceRads: number;
198
- } | {
199
- type: "translate";
200
- distanceMm: number;
201
- };
202
- }): Promise<void>;
203
- /**
204
- * Rotate a single robot joint by a fixed number of radians
205
- * Promise resolves only after the motion has completed.
206
- */
207
- runIncrementalJointRotation({
208
- joint,
209
- currentJoints,
210
- velocityRadsPerSec,
211
- direction,
212
- distanceRads
213
- }: {
214
- joint: number;
215
- currentJoints: Joints;
216
- velocityRadsPerSec: number;
217
- direction: "-" | "+";
218
- distanceRads: number;
219
- }): Promise<void>;
220
- }
221
- //#endregion
222
- //#region src/lib/deprecated/v1/NovaCellAPIClient.d.ts
223
- type OmitFirstArg<F> = F extends ((x: any, ...args: infer P) => infer R) ? (...args: P) => R : never;
224
- type UnwrapAxiosResponseReturn<T> = T extends ((...a: any) => any) ? (...a: Parameters<T>) => Promise<Awaited<ReturnType<T>> extends {
225
- data: infer D;
226
- } ? D : never> : never;
227
- /** @deprecated Use `NovaAPIClient` instead. */
228
- type WithCellId<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<OmitFirstArg<T[P]>> };
229
- /** @deprecated Use `NovaAPIClient` instead. */
230
- type WithUnwrappedAxiosResponse<T> = { [P in keyof T]: UnwrapAxiosResponseReturn<T[P]> };
231
- /**
232
- * API client providing type-safe access to all the Nova API REST endpoints
233
- * associated with a specific cell id.
234
- * @deprecated Use `NovaAPIClient` from `@wandelbots/nova-js/v2` instead.
235
- */
236
- declare class NovaCellAPIClient {
237
- readonly system: WithUnwrappedAxiosResponse<SystemApi>;
238
- readonly cell: WithUnwrappedAxiosResponse<CellApi>;
239
- readonly deviceConfig: WithCellId<DeviceConfigurationApi>;
240
- readonly motionGroup: WithCellId<MotionGroupApi>;
241
- readonly motionGroupInfos: WithCellId<MotionGroupInfosApi>;
242
- readonly controller: WithCellId<ControllerApi>;
243
- readonly program: WithCellId<ProgramApi>;
244
- readonly programValues: WithCellId<ProgramValuesApi>;
245
- readonly controllerIOs: WithCellId<ControllerIOsApi>;
246
- readonly motionGroupKinematic: WithCellId<MotionGroupKinematicApi>;
247
- readonly motion: WithCellId<MotionApi>;
248
- readonly coordinateSystems: WithCellId<CoordinateSystemsApi>;
249
- readonly application: WithCellId<ApplicationApi>;
250
- readonly applicationGlobal: WithUnwrappedAxiosResponse<ApplicationApi>;
251
- readonly motionGroupJogging: WithCellId<MotionGroupJoggingApi>;
252
- readonly virtualRobot: WithCellId<VirtualRobotApi>;
253
- readonly virtualRobotSetup: WithCellId<VirtualRobotSetupApi>;
254
- readonly virtualRobotMode: WithCellId<VirtualRobotModeApi>;
255
- readonly virtualRobotBehavior: WithCellId<VirtualRobotBehaviorApi>;
256
- readonly libraryProgramMetadata: WithCellId<LibraryProgramMetadataApi>;
257
- readonly libraryProgram: WithCellId<LibraryProgramApi>;
258
- readonly libraryRecipeMetadata: WithCellId<LibraryRecipeMetadataApi>;
259
- readonly libraryRecipe: WithCellId<LibraryRecipeApi>;
260
- readonly storeObject: WithCellId<StoreObjectApi>;
261
- readonly storeCollisionComponents: WithCellId<StoreCollisionComponentsApi>;
262
- readonly storeCollisionScenes: WithCellId<StoreCollisionScenesApi>;
263
- readonly cellId: string;
264
- readonly opts: Configuration & {
265
- axiosInstance?: AxiosInstance;
266
- mock?: boolean;
267
- };
268
- constructor(cellId: string, opts: Configuration & {
269
- axiosInstance?: AxiosInstance;
270
- mock?: boolean;
271
- });
272
- /**
273
- * Some TypeScript sorcery which alters the API class methods so you don't
274
- * have to pass the cell id to every single one, and de-encapsulates the
275
- * response data
276
- */
277
- private withCellId;
278
- /**
279
- * As withCellId, but only does the response unwrapping
280
- */
281
- private withUnwrappedResponsesOnly;
282
- }
283
- //#endregion
284
- //#region src/lib/deprecated/v1/NovaClient.d.ts
285
- /** @deprecated Use `NovaConfig` from `@wandelbots/nova-js/v2` instead. */
286
- type NovaClientConfig = {
287
- /**
288
- * Url of the deployed Nova instance to connect to
289
- * e.g. https://saeattii.instance.wandelbots.io
290
- */
291
- instanceUrl: string | "https://mock.example.com";
292
- /**
293
- * Identifier of the cell on the Nova instance to connect this client to.
294
- * If omitted, the default identifier "cell" is used.
295
- **/
296
- cellId?: string;
297
- /**
298
- * Username for basic auth to the Nova instance.
299
- * @deprecated use accessToken instead
300
- */
301
- username?: string;
302
- /**
303
- * Password for basic auth to the Nova instance.
304
- * @deprecated use accessToken instead
305
- */
306
- password?: string;
307
- /**
308
- * Access token for Bearer authentication.
309
- */
310
- accessToken?: string;
311
- } & Omit<Configuration, "isJsonMime" | "basePath">;
312
- type NovaClientConfigWithDefaults = NovaClientConfig & {
313
- cellId: string;
314
- };
315
- /**
316
- * Client for connecting to a Nova instance and controlling robots.
317
- * @deprecated The nova v1 client is deprecated. Please use the v2 client from `@wandelbots/nova-js/v2` instead.
318
- */
319
- declare class NovaClient {
320
- readonly api: NovaCellAPIClient;
321
- readonly config: NovaClientConfigWithDefaults;
322
- readonly mock?: MockNovaInstance;
323
- readonly instanceUrl: URL;
324
- authPromise: Promise<string | null> | null;
325
- accessToken: string | null;
326
- constructor(config: NovaClientConfig);
327
- renewAuthentication(): Promise<void>;
328
- makeWebsocketURL(path: string): string;
329
- /**
330
- * Retrieve an AutoReconnectingWebsocket to the given path on the Nova instance.
331
- * If you explicitly want to reconnect an existing websocket, call `reconnect`
332
- * on the returned object.
333
- */
334
- openReconnectingWebsocket(path: string): AutoReconnectingWebsocket;
335
- /**
336
- * Connect to the motion state websocket(s) for a given motion group
337
- */
338
- connectMotionStream(motionGroupId: string): Promise<MotionStreamConnection>;
339
- /**
340
- * Connect to the jogging websocket(s) for a given motion group
341
- */
342
- connectJogger(motionGroupId: string): Promise<JoggerConnection>;
343
- connectMotionGroups(motionGroupIds: string[]): Promise<ConnectedMotionGroup[]>;
344
- connectMotionGroup(motionGroupId: string): Promise<ConnectedMotionGroup>;
345
- }
346
- //#endregion
347
- //#region src/lib/deprecated/v1/wandelscriptUtils.d.ts
348
- /**
349
- * Convert a Pose object representing a motion group position
350
- * into a string which represents that pose in Wandelscript.
351
- * @deprecated
352
- */
353
- declare function poseToWandelscriptString(pose: Pick<Pose, "position" | "orientation">): string;
354
- //#endregion
355
- export { WithCellId as a, JoggerConnectionOpts as c, MotionGroupOption as d, NovaCellAPIClient as i, MotionStreamConnection as l, NovaClient as n, WithUnwrappedAxiosResponse as o, NovaClientConfig as r, JoggerConnection as s, poseToWandelscriptString as t, ConnectedMotionGroup as u };
356
- //# sourceMappingURL=wandelscriptUtils-DY3WsiuB.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wandelscriptUtils-DY3WsiuB.d.cts","names":[],"sources":["../src/lib/deprecated/v1/ConnectedMotionGroup.ts","../src/lib/deprecated/v1/MotionStreamConnection.ts","../src/lib/deprecated/v1/JoggerConnection.ts","../src/lib/deprecated/v1/NovaCellAPIClient.ts","../src/lib/deprecated/v1/NovaClient.ts","../src/lib/deprecated/v1/wandelscriptUtils.ts"],"mappings":"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"}