@wandelbots/nova-js 3.2.0-pr.dev-e2e-jogging-test.143.4f02caf → 3.2.0-pr.feat-v2.155.e91b019
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.
- package/README.md +60 -50
- package/dist/{AutoReconnectingWebsocket-BI1ckzP8.d.ts → AutoReconnectingWebsocket-CoU4ZyD2.d.cts} +1 -3
- package/dist/AutoReconnectingWebsocket-CoU4ZyD2.d.cts.map +1 -0
- package/dist/{AutoReconnectingWebsocket-Cr7f9016.d.cts → AutoReconnectingWebsocket-D0gTrkzu.d.ts} +1 -3
- package/dist/AutoReconnectingWebsocket-D0gTrkzu.d.ts.map +1 -0
- package/dist/{LoginWithAuth0-0g0wWRUC.js → LoginWithAuth0-CaX7yo7d.js} +58 -5
- package/dist/LoginWithAuth0-CaX7yo7d.js.map +1 -0
- package/dist/{LoginWithAuth0-C82OCyDy.cjs → LoginWithAuth0-DaPnTz2I.cjs} +99 -4
- package/dist/LoginWithAuth0-DaPnTz2I.cjs.map +1 -0
- package/dist/index.cjs +11 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -8
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +11 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/lib/v1/index.cjs +17 -19
- package/dist/lib/v1/index.cjs.map +1 -1
- package/dist/lib/v1/index.d.cts +4 -2
- package/dist/lib/v1/index.d.cts.map +1 -1
- package/dist/lib/v1/index.d.ts +4 -2
- package/dist/lib/v1/index.d.ts.map +1 -1
- package/dist/lib/v1/index.js +7 -10
- package/dist/lib/v1/index.js.map +1 -1
- package/dist/lib/v2/index.cjs +1087 -11
- package/dist/lib/v2/index.cjs.map +1 -1
- package/dist/lib/v2/index.d.cts +256 -7
- package/dist/lib/v2/index.d.cts.map +1 -1
- package/dist/lib/v2/index.d.ts +256 -7
- package/dist/lib/v2/index.d.ts.map +1 -1
- package/dist/lib/v2/index.js +1082 -12
- package/dist/lib/v2/index.js.map +1 -1
- package/dist/wandelscriptUtils-CO5GYRij.js +24 -0
- package/dist/wandelscriptUtils-CO5GYRij.js.map +1 -0
- package/dist/wandelscriptUtils-COHpTIme.d.cts +12 -0
- package/dist/wandelscriptUtils-COHpTIme.d.cts.map +1 -0
- package/dist/wandelscriptUtils-Cl3GBxOp.d.ts +12 -0
- package/dist/wandelscriptUtils-Cl3GBxOp.d.ts.map +1 -0
- package/dist/wandelscriptUtils-DwpJ4jCy.cjs +30 -0
- package/dist/wandelscriptUtils-DwpJ4jCy.cjs.map +1 -0
- package/package.json +2 -2
- package/src/LoginWithAuth0.ts +3 -3
- package/src/index.ts +1 -0
- package/src/lib/converters.ts +5 -23
- package/src/lib/v1/MotionStreamConnection.ts +1 -1
- package/src/lib/v1/NovaClient.ts +6 -0
- package/src/lib/v1/index.ts +6 -0
- package/src/lib/v1/mock/MockNovaInstance.ts +0 -1
- package/src/lib/v1/wandelscriptUtils.ts +22 -0
- package/src/lib/v2/ConnectedMotionGroup.ts +415 -0
- package/src/lib/v2/JoggerConnection.ts +647 -0
- package/src/lib/v2/MotionStreamConnection.ts +222 -0
- package/src/lib/v2/NovaClient.ts +43 -8
- package/src/lib/v2/index.ts +5 -0
- package/src/lib/v2/mock/MockNovaInstance.ts +385 -1
- package/src/lib/v2/motionStateUpdate.ts +76 -0
- package/src/lib/v2/types/vector3.ts +1 -0
- package/src/lib/v2/wandelscriptUtils.ts +27 -0
- package/dist/AutoReconnectingWebsocket-BI1ckzP8.d.ts.map +0 -1
- package/dist/AutoReconnectingWebsocket-Cr7f9016.d.cts.map +0 -1
- package/dist/LoginWithAuth0-0g0wWRUC.js.map +0 -1
- package/dist/LoginWithAuth0-C82OCyDy.cjs.map +0 -1
- package/dist/converters-DP2EIVv6.cjs +0 -108
- package/dist/converters-DP2EIVv6.cjs.map +0 -1
- package/dist/converters-DY6Lf7mb.js +0 -66
- package/dist/converters-DY6Lf7mb.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-
|
|
2
|
-
import {
|
|
1
|
+
import { AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-CoU4ZyD2.cjs";
|
|
2
|
+
import { poseToWandelscriptString } from "./wandelscriptUtils-COHpTIme.cjs";
|
|
3
3
|
|
|
4
4
|
//#region src/lib/availableStorage.d.ts
|
|
5
5
|
/**
|
|
@@ -31,16 +31,19 @@ declare function makeUrlQueryString(obj: Record<string, string>): string;
|
|
|
31
31
|
declare function radiansToDegrees(radians: number): number;
|
|
32
32
|
/** Convert degrees to radians */
|
|
33
33
|
declare function degreesToRadians(degrees: number): number;
|
|
34
|
-
/**
|
|
35
|
-
* Convert a Pose object representing a motion group position
|
|
36
|
-
* into a string which represents that pose in Wandelscript.
|
|
37
|
-
*/
|
|
38
|
-
declare function poseToWandelscriptString(pose: Pick<Pose, "position" | "orientation">): string;
|
|
39
34
|
/**
|
|
40
35
|
* Check for coordinate system id equivalence, accounting for the "world" default
|
|
41
36
|
* on empty/undefined values.
|
|
42
37
|
*/
|
|
43
38
|
declare function isSameCoordinateSystem(firstCoordSystem: string | undefined, secondCoordSystem: string | undefined): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Helpful const for converting {x, y, z} to [x, y, z] and vice versa
|
|
41
|
+
*/
|
|
42
|
+
declare const XYZ_TO_VECTOR: {
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
z: number;
|
|
46
|
+
};
|
|
44
47
|
//#endregion
|
|
45
48
|
//#region src/lib/errorHandling.d.ts
|
|
46
49
|
declare function delay(ms: number): Promise<unknown>;
|
|
@@ -66,5 +69,5 @@ declare function makeErrorMessage(err: unknown): string;
|
|
|
66
69
|
*/
|
|
67
70
|
declare const loginWithAuth0: (instanceUrl: string) => Promise<string | null>;
|
|
68
71
|
//#endregion
|
|
69
|
-
export { AutoReconnectingWebsocket, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
72
|
+
export { AutoReconnectingWebsocket, XYZ_TO_VECTOR, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
70
73
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../src/LoginWithAuth0.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAIM,gBAAA,CAAgB;EAAA,SAAA,EAAA,OAAA;SAGa,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,CAAA,CAAA,GAAA,IAAA;SAAR,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,OAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAAO,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAsCrB,SAAA,CAAA,GAAA,EAAA,MAAyC,EAAA,KAAA,EAAzB,MAAA,CAAA,EAAA,IAAA,GAAyB,SAAA;;;cAAzC,kBAAgB;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../src/LoginWithAuth0.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAIM,gBAAA,CAAgB;EAAA,SAAA,EAAA,OAAA;SAGa,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,CAAA,CAAA,GAAA,IAAA;SAAR,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,OAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAAO,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAsCrB,SAAA,CAAA,GAAA,EAAA,MAAyC,EAAA,KAAA,EAAzB,MAAA,CAAA,EAAA,IAAA,GAAyB,SAAA;;;cAAzC,kBAAgB;;;;iBC3Cb,YAAA;;iBASA,gBAAA;;;;;;ADkCH,iBCrBG,kBAAA,CDqBa,GAAA,ECrBW,MDqBc,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,EAAA,MAAA;;iBCftC,gBAAA;;AA5BA,iBAiCA,gBAAA,CAjCY,OAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAS5B;AAaA;AAMA;AAKA;AAQgB,iBAAA,sBAAA,CAAsB,gBAAA,EAAA,MAAA,GAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,GAAA,SAAA,CAAA,EAAA,OAAA;AAatC;;;cAAa;ECrDG,CAAA,EAAA,MAAK;EAOL,CAAA,EAAA,MAAA;EAYA,CAAA,EAAA,MAAA;;;;iBAnBA,KAAA,cAAgB;;;;AFC1B,iBEMU,qBAAA,CFNM,GAAA,EAAA,OAAA,CAAA,EAAA,MAAA;;;;;AAyCtB;;;;AC3CgB,iBCoBA,gBAAA,CDpBY,GAAA,EAAA,OAAA,CAAA,EAAA,MAAA;;;;;;;;ADEN,cGkCT,cHlCS,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,GGoCnB,OHpCmB,CAAA,MAAA,GAAA,IAAA,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-
|
|
2
|
-
import {
|
|
1
|
+
import { AutoReconnectingWebsocket } from "./AutoReconnectingWebsocket-D0gTrkzu.js";
|
|
2
|
+
import { poseToWandelscriptString } from "./wandelscriptUtils-Cl3GBxOp.js";
|
|
3
3
|
|
|
4
4
|
//#region src/lib/availableStorage.d.ts
|
|
5
5
|
/**
|
|
@@ -31,16 +31,19 @@ declare function makeUrlQueryString(obj: Record<string, string>): string;
|
|
|
31
31
|
declare function radiansToDegrees(radians: number): number;
|
|
32
32
|
/** Convert degrees to radians */
|
|
33
33
|
declare function degreesToRadians(degrees: number): number;
|
|
34
|
-
/**
|
|
35
|
-
* Convert a Pose object representing a motion group position
|
|
36
|
-
* into a string which represents that pose in Wandelscript.
|
|
37
|
-
*/
|
|
38
|
-
declare function poseToWandelscriptString(pose: Pick<Pose, "position" | "orientation">): string;
|
|
39
34
|
/**
|
|
40
35
|
* Check for coordinate system id equivalence, accounting for the "world" default
|
|
41
36
|
* on empty/undefined values.
|
|
42
37
|
*/
|
|
43
38
|
declare function isSameCoordinateSystem(firstCoordSystem: string | undefined, secondCoordSystem: string | undefined): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Helpful const for converting {x, y, z} to [x, y, z] and vice versa
|
|
41
|
+
*/
|
|
42
|
+
declare const XYZ_TO_VECTOR: {
|
|
43
|
+
x: number;
|
|
44
|
+
y: number;
|
|
45
|
+
z: number;
|
|
46
|
+
};
|
|
44
47
|
//#endregion
|
|
45
48
|
//#region src/lib/errorHandling.d.ts
|
|
46
49
|
declare function delay(ms: number): Promise<unknown>;
|
|
@@ -66,5 +69,5 @@ declare function makeErrorMessage(err: unknown): string;
|
|
|
66
69
|
*/
|
|
67
70
|
declare const loginWithAuth0: (instanceUrl: string) => Promise<string | null>;
|
|
68
71
|
//#endregion
|
|
69
|
-
export { AutoReconnectingWebsocket, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
72
|
+
export { AutoReconnectingWebsocket, XYZ_TO_VECTOR, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
70
73
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../src/LoginWithAuth0.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAIM,gBAAA,CAAgB;EAAA,SAAA,EAAA,OAAA;SAGa,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,CAAA,CAAA,GAAA,IAAA;SAAR,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,OAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAAO,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAsCrB,SAAA,CAAA,GAAA,EAAA,MAAyC,EAAA,KAAA,EAAzB,MAAA,CAAA,EAAA,IAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../src/LoginWithAuth0.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAIM,gBAAA,CAAgB;EAAA,SAAA,EAAA,OAAA;SAGa,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAR,OAAQ,CAAA,CAAA,CAAA,GAAA,IAAA;SAAR,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,EAAA,OAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAAO,MAAA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,IAAA,GAAA,SAAA;EAsCrB,SAAA,CAAA,GAAA,EAAA,MAAyC,EAAA,KAAA,EAAzB,MAAA,CAAA,EAAA,IAAA,GAAA,SAAyB;;;cAAzC,kBAAgB;;;;iBC3Cb,YAAA;;iBASA,gBAAA;;;;;;ADkCH,iBCrBG,kBAAA,CDqBa,GAAA,ECrBW,MDqBc,CAAA,MAAA,EAAA,MAAA,CAAA,CAAA,EAAA,MAAA;;iBCftC,gBAAA;;AA5BA,iBAiCA,gBAAA,CAjCY,OAAA,EAAA,MAAA,CAAA,EAAA,MAAA;AAS5B;AAaA;AAMA;AAKA;AAQgB,iBAAA,sBAAA,CAAsB,gBAAA,EAAA,MAAA,GAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,GAAA,SAAA,CAAA,EAAA,OAAA;AAatC;;;cAAa;ECrDG,CAAA,EAAA,MAAK;EAOL,CAAA,EAAA,MAAA;EAYA,CAAA,EAAA,MAAA;;;;iBAnBA,KAAA,cAAgB;;;;AFC1B,iBEMU,qBAAA,CFNM,GAAA,EAAA,OAAA,CAAA,EAAA,MAAA;;;;;AAyCtB;;;;AC3CgB,iBCoBA,gBAAA,CDpBY,GAAA,EAAA,OAAA,CAAA,EAAA,MAAA;;;;;;;;ADEN,cGkCT,cHlCS,EAAA,CAAA,WAAA,EAAA,MAAA,EAAA,GGoCnB,OHpCmB,CAAA,MAAA,GAAA,IAAA,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AutoReconnectingWebsocket, availableStorage, loginWithAuth0 } from "./LoginWithAuth0-
|
|
2
|
-
import {
|
|
1
|
+
import { AutoReconnectingWebsocket, XYZ_TO_VECTOR, availableStorage, degreesToRadians, isSameCoordinateSystem, loginWithAuth0, makeUrlQueryString, radiansToDegrees, tryParseJson, tryStringifyJson } from "./LoginWithAuth0-CaX7yo7d.js";
|
|
2
|
+
import { poseToWandelscriptString } from "./wandelscriptUtils-CO5GYRij.js";
|
|
3
3
|
import { AxiosError } from "axios";
|
|
4
4
|
|
|
5
5
|
//#region src/lib/errorHandling.ts
|
|
@@ -32,5 +32,5 @@ function makeErrorMessage(err) {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
35
|
-
export { AutoReconnectingWebsocket, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
35
|
+
export { AutoReconnectingWebsocket, XYZ_TO_VECTOR, availableStorage, degreesToRadians, delay, isSameCoordinateSystem, loginWithAuth0, makeErrorMessage, makeShortErrorMessage, makeUrlQueryString, poseToWandelscriptString, radiansToDegrees, tryParseJson, tryStringifyJson };
|
|
36
36
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/v1/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const require_LoginWithAuth0 = require('../../LoginWithAuth0-
|
|
2
|
-
const
|
|
1
|
+
const require_LoginWithAuth0 = require('../../LoginWithAuth0-DaPnTz2I.cjs');
|
|
2
|
+
const require_wandelscriptUtils = require('../../wandelscriptUtils-DwpJ4jCy.cjs');
|
|
3
3
|
let axios = require("axios");
|
|
4
4
|
axios = require_LoginWithAuth0.__toESM(axios);
|
|
5
5
|
let __wandelbots_nova_api_v1 = require("@wandelbots/nova-api/v1");
|
|
@@ -49,7 +49,7 @@ var ConnectedMotionGroup = class ConnectedMotionGroup {
|
|
|
49
49
|
if (!controller || !motionGroup) throw new Error(`Controller ${controllerId} or motion group ${motionGroupId} not found`);
|
|
50
50
|
const motionStateSocket = nova.openReconnectingWebsocket(`/motion-groups/${motionGroupId}/state-stream`);
|
|
51
51
|
const firstMessage = await motionStateSocket.firstMessage();
|
|
52
|
-
const initialMotionState =
|
|
52
|
+
const initialMotionState = require_LoginWithAuth0.tryParseJson(firstMessage.data)?.result;
|
|
53
53
|
if (!initialMotionState) throw new Error(`Unable to parse initial motion state message ${firstMessage.data}`);
|
|
54
54
|
console.log(`Connected motion state websocket to motion group ${motionGroup.motion_group}. Initial state:\n `, initialMotionState);
|
|
55
55
|
const isVirtual = (await nova.api.controller.getRobotController(controller.controller)).configuration.kind === "VirtualController";
|
|
@@ -63,13 +63,11 @@ var ConnectedMotionGroup = class ConnectedMotionGroup {
|
|
|
63
63
|
})();
|
|
64
64
|
const controllerStateSocket = nova.openReconnectingWebsocket(`/controllers/${controller.controller}/state-stream?response_rate=1000`);
|
|
65
65
|
const firstControllerMessage = await controllerStateSocket.firstMessage();
|
|
66
|
-
const initialControllerState =
|
|
66
|
+
const initialControllerState = require_LoginWithAuth0.tryParseJson(firstControllerMessage.data)?.result;
|
|
67
67
|
if (!initialControllerState) throw new Error(`Unable to parse initial controller state message ${firstControllerMessage.data}`);
|
|
68
68
|
console.log(`Connected controller state websocket to controller ${controller.controller}. Initial state:\n `, initialControllerState);
|
|
69
69
|
const { tcps } = await nova.api.motionGroupInfos.listTcps(motionGroupId);
|
|
70
|
-
|
|
71
|
-
const safetySetup = await nova.api.motionGroupInfos.getSafetySetup(motionGroupId);
|
|
72
|
-
return new ConnectedMotionGroup(nova, controller, motionGroup, initialMotionState, motionStateSocket, isVirtual, tcps, motionGroupSpecification, safetySetup, mounting, initialControllerState, controllerStateSocket);
|
|
70
|
+
return new ConnectedMotionGroup(nova, controller, motionGroup, initialMotionState, motionStateSocket, isVirtual, tcps, await nova.api.motionGroupInfos.getMotionGroupSpecification(motionGroupId), await nova.api.motionGroupInfos.getSafetySetup(motionGroupId), mounting, initialControllerState, controllerStateSocket);
|
|
73
71
|
}
|
|
74
72
|
constructor(nova, controller, motionGroup, initialMotionState, motionStateSocket, isVirtual, tcps, motionGroupSpecification, safetySetup, mounting, initialControllerState, controllerStateSocket) {
|
|
75
73
|
this.nova = nova;
|
|
@@ -91,14 +89,14 @@ var ConnectedMotionGroup = class ConnectedMotionGroup {
|
|
|
91
89
|
this.rapidlyChangingMotionState = initialMotionState;
|
|
92
90
|
this.controllerState = initialControllerState;
|
|
93
91
|
controllerStateSocket.addEventListener("message", (event) => {
|
|
94
|
-
const data =
|
|
92
|
+
const data = require_LoginWithAuth0.tryParseJson(event.data)?.result;
|
|
95
93
|
if (!data) return;
|
|
96
94
|
(0, mobx.runInAction)(() => {
|
|
97
95
|
this.controllerState = data;
|
|
98
96
|
});
|
|
99
97
|
});
|
|
100
98
|
motionStateSocket.addEventListener("message", (event) => {
|
|
101
|
-
const motionStateResponse =
|
|
99
|
+
const motionStateResponse = require_LoginWithAuth0.tryParseJson(event.data)?.result;
|
|
102
100
|
if (!motionStateResponse) throw new Error(`Failed to get motion state for ${this.motionGroupId}: ${event.data}`);
|
|
103
101
|
if (!jointValuesEqual(this.rapidlyChangingMotionState.state.joint_position.joints, motionStateResponse.state.joint_position.joints, MOTION_DELTA_THRESHOLD$1)) (0, mobx.runInAction)(() => {
|
|
104
102
|
this.rapidlyChangingMotionState.state = motionStateResponse.state;
|
|
@@ -267,8 +265,7 @@ async function getLatestTrajectories(apiClient, sampleTime = 50, responsesCoordi
|
|
|
267
265
|
//#region src/lib/v1/JoggerConnection.ts
|
|
268
266
|
var JoggerConnection = class JoggerConnection {
|
|
269
267
|
static async open(nova, motionGroupId, opts = {}) {
|
|
270
|
-
|
|
271
|
-
return new JoggerConnection(motionStream, opts);
|
|
268
|
+
return new JoggerConnection(await nova.connectMotionStream(motionGroupId), opts);
|
|
272
269
|
}
|
|
273
270
|
constructor(motionStream, opts = {}) {
|
|
274
271
|
this.motionStream = motionStream;
|
|
@@ -343,7 +340,7 @@ var JoggerConnection = class JoggerConnection {
|
|
|
343
340
|
if (mode === "cartesian" && !this.cartesianWebsocket) {
|
|
344
341
|
this.cartesianWebsocket = this.nova.openReconnectingWebsocket(`/motion-groups/move-tcp`);
|
|
345
342
|
this.cartesianWebsocket.addEventListener("message", (ev) => {
|
|
346
|
-
const data =
|
|
343
|
+
const data = require_LoginWithAuth0.tryParseJson(ev.data);
|
|
347
344
|
if (data && "error" in data) if (this.opts.onError) this.opts.onError(ev.data);
|
|
348
345
|
else throw new Error(ev.data);
|
|
349
346
|
});
|
|
@@ -351,7 +348,7 @@ var JoggerConnection = class JoggerConnection {
|
|
|
351
348
|
if (mode === "joint" && !this.jointWebsocket) {
|
|
352
349
|
this.jointWebsocket = this.nova.openReconnectingWebsocket(`/motion-groups/move-joint`);
|
|
353
350
|
this.jointWebsocket.addEventListener("message", (ev) => {
|
|
354
|
-
const data =
|
|
351
|
+
const data = require_LoginWithAuth0.tryParseJson(ev.data);
|
|
355
352
|
if (data && "error" in data) if (this.opts.onError) this.opts.onError(ev.data);
|
|
356
353
|
else throw new Error(ev.data);
|
|
357
354
|
});
|
|
@@ -420,7 +417,7 @@ var JoggerConnection = class JoggerConnection {
|
|
|
420
417
|
*/
|
|
421
418
|
async runIncrementalCartesianMotion({ currentTcpPose, currentJoints, coordSystemId, velocityInRelevantUnits, axis, direction, motion }) {
|
|
422
419
|
const commands = [];
|
|
423
|
-
if (!
|
|
420
|
+
if (!require_LoginWithAuth0.isSameCoordinateSystem(currentTcpPose.coordinate_system, coordSystemId)) throw new Error(`Current TCP pose coordinate system ${currentTcpPose.coordinate_system} does not match target coordinate system ${coordSystemId}`);
|
|
424
421
|
if (motion.type === "translate") {
|
|
425
422
|
const targetTcpPosition = Object.assign({}, currentTcpPose.position);
|
|
426
423
|
targetTcpPosition[axis] += motion.distanceMm * (direction === "-" ? -1 : 1);
|
|
@@ -523,8 +520,8 @@ var MotionStreamConnection = class MotionStreamConnection {
|
|
|
523
520
|
if (!controller || !motionGroup) throw new Error(`Controller ${controllerId} or motion group ${motionGroupId} not found`);
|
|
524
521
|
const motionStateSocket = nova.openReconnectingWebsocket(`/motion-groups/${motionGroupId}/state-stream`);
|
|
525
522
|
const firstMessage = await motionStateSocket.firstMessage();
|
|
526
|
-
console.log("got first message", firstMessage);
|
|
527
|
-
const initialMotionState =
|
|
523
|
+
console.log("got first message", require_LoginWithAuth0.tryParseJson(firstMessage.data));
|
|
524
|
+
const initialMotionState = require_LoginWithAuth0.tryParseJson(firstMessage.data)?.result;
|
|
528
525
|
if (!initialMotionState) throw new Error(`Unable to parse initial motion state message ${firstMessage.data}`);
|
|
529
526
|
console.log(`Connected motion state websocket to motion group ${motionGroup.motion_group}. Initial state:\n `, initialMotionState);
|
|
530
527
|
return new MotionStreamConnection(nova, controller, motionGroup, initialMotionState, motionStateSocket);
|
|
@@ -537,7 +534,7 @@ var MotionStreamConnection = class MotionStreamConnection {
|
|
|
537
534
|
this.motionStateSocket = motionStateSocket;
|
|
538
535
|
this.rapidlyChangingMotionState = initialMotionState;
|
|
539
536
|
motionStateSocket.addEventListener("message", (event) => {
|
|
540
|
-
const motionStateResponse =
|
|
537
|
+
const motionStateResponse = require_LoginWithAuth0.tryParseJson(event.data)?.result;
|
|
541
538
|
if (!motionStateResponse) throw new Error(`Failed to get motion state for ${this.motionGroupId}: ${event.data}`);
|
|
542
539
|
if (!jointValuesEqual(this.rapidlyChangingMotionState.state.joint_position.joints, motionStateResponse.state.joint_position.joints, MOTION_DELTA_THRESHOLD)) (0, mobx.runInAction)(() => {
|
|
543
540
|
this.rapidlyChangingMotionState.state = motionStateResponse.state;
|
|
@@ -657,7 +654,6 @@ var NovaCellAPIClient = class {
|
|
|
657
654
|
//#endregion
|
|
658
655
|
//#region src/lib/v1/mock/MockNovaInstance.ts
|
|
659
656
|
/**
|
|
660
|
-
* EXPERIMENTAL
|
|
661
657
|
* Ultra-simplified mock Nova server for testing stuff
|
|
662
658
|
*/
|
|
663
659
|
var MockNovaInstance = class {
|
|
@@ -1900,6 +1896,7 @@ function permissiveInstanceUrlParse(url) {
|
|
|
1900
1896
|
}
|
|
1901
1897
|
/**
|
|
1902
1898
|
* Client for connecting to a Nova instance and controlling robots.
|
|
1899
|
+
* @deprecated The nova v1 client is deprecated. Please use the v2 client from `@wandelbots/nova-js/v2` instead.
|
|
1903
1900
|
*/
|
|
1904
1901
|
var NovaClient = class {
|
|
1905
1902
|
constructor(config) {
|
|
@@ -2032,7 +2029,7 @@ var ProgramStateConnection = class {
|
|
|
2032
2029
|
(0, mobx.makeAutoObservable)(this, {}, { autoBind: true });
|
|
2033
2030
|
this.programStateSocket = nova.openReconnectingWebsocket(`/programs/state`);
|
|
2034
2031
|
this.programStateSocket.addEventListener("message", (ev) => {
|
|
2035
|
-
const msg =
|
|
2032
|
+
const msg = require_LoginWithAuth0.tryParseJson(ev.data);
|
|
2036
2033
|
if (!msg) {
|
|
2037
2034
|
console.error("Failed to parse program state message", ev.data);
|
|
2038
2035
|
return;
|
|
@@ -2170,6 +2167,7 @@ exports.NovaClient = NovaClient;
|
|
|
2170
2167
|
exports.ProgramState = ProgramState;
|
|
2171
2168
|
exports.ProgramStateConnection = ProgramStateConnection;
|
|
2172
2169
|
exports.getLatestTrajectories = getLatestTrajectories;
|
|
2170
|
+
exports.poseToWandelscriptString = require_wandelscriptUtils.poseToWandelscriptString;
|
|
2173
2171
|
Object.keys(__wandelbots_nova_api_v1).forEach(function (k) {
|
|
2174
2172
|
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
2175
2173
|
enumerable: true,
|