@wandelbots/nova-js 3.0.0 → 3.0.1
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 +3 -19
- package/dist/LoginWithAuth0.d.ts.map +1 -1
- package/dist/chunk-B2C22PTK.js +53 -0
- package/dist/chunk-B2C22PTK.js.map +1 -0
- package/dist/{chunk-DOFCSS2H.js → chunk-I3PUV6ZD.js} +2 -2
- package/dist/chunk-I3PUV6ZD.js.map +1 -0
- package/dist/index.cjs +3 -99
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -30
- package/dist/index.js.map +1 -1
- package/dist/lib/AutoReconnectingWebsocket.d.ts +2 -2
- package/dist/lib/AutoReconnectingWebsocket.d.ts.map +1 -1
- package/dist/lib/availableStorage.d.ts +1 -1
- package/dist/lib/availableStorage.d.ts.map +1 -1
- package/dist/lib/converters.d.ts.map +1 -1
- package/dist/lib/errorHandling.d.ts.map +1 -1
- package/dist/lib/v1/ConnectedMotionGroup.d.ts.map +1 -1
- package/dist/lib/v1/JoggerConnection.d.ts.map +1 -1
- package/dist/lib/v1/MotionStreamConnection.d.ts +1 -0
- package/dist/lib/v1/MotionStreamConnection.d.ts.map +1 -1
- package/dist/lib/v1/NovaCellAPIClient.d.ts +2 -0
- package/dist/lib/v1/NovaCellAPIClient.d.ts.map +1 -1
- package/dist/lib/v1/NovaClient.d.ts.map +1 -1
- package/dist/lib/v1/ProgramStateConnection.d.ts +6 -2
- package/dist/lib/v1/ProgramStateConnection.d.ts.map +1 -1
- package/dist/lib/v1/index.cjs +19 -1036
- package/dist/lib/v1/index.cjs.map +1 -1
- package/dist/lib/v1/index.js +20 -16
- package/dist/lib/v1/index.js.map +1 -1
- package/dist/lib/v1/motionStateUpdate.d.ts.map +1 -1
- package/dist/lib/v2/NovaCellAPIClient.d.ts +2 -0
- package/dist/lib/v2/NovaCellAPIClient.d.ts.map +1 -1
- package/dist/lib/v2/NovaClient.d.ts +1 -0
- package/dist/lib/v2/NovaClient.d.ts.map +1 -1
- package/dist/lib/v2/index.cjs +5 -15
- package/dist/lib/v2/index.cjs.map +1 -1
- package/dist/lib/v2/index.js +5 -15
- package/dist/lib/v2/index.js.map +1 -1
- package/dist/lib/v2/mock/MockNovaInstance.d.ts.map +1 -1
- package/package.json +11 -8
- package/src/LoginWithAuth0.ts +5 -0
- package/src/lib/AutoReconnectingWebsocket.ts +2 -2
- package/src/lib/availableStorage.ts +1 -1
- package/src/lib/converters.ts +1 -0
- package/src/lib/errorHandling.ts +2 -3
- package/src/lib/v1/ConnectedMotionGroup.ts +2 -0
- package/src/lib/v1/JoggerConnection.ts +8 -5
- package/src/lib/v1/MotionStreamConnection.ts +2 -1
- package/src/lib/v1/NovaCellAPIClient.ts +2 -0
- package/src/lib/v1/NovaClient.ts +3 -1
- package/src/lib/v1/ProgramStateConnection.ts +9 -6
- package/src/lib/v1/mock/MockNovaInstance.ts +5 -5
- package/src/lib/v1/motionStateUpdate.ts +1 -0
- package/src/lib/v2/NovaCellAPIClient.ts +2 -0
- package/src/lib/v2/NovaClient.ts +2 -1
- package/src/lib/v2/mock/MockNovaInstance.ts +3 -7
- package/dist/chunk-4FP7NTKS.js +0 -1080
- package/dist/chunk-4FP7NTKS.js.map +0 -1
- package/dist/chunk-DOFCSS2H.js.map +0 -1
- package/dist/lib/v2/vectorUtils.d.ts +0 -7
- package/dist/lib/v2/vectorUtils.d.ts.map +0 -1
- package/src/lib/v2/vectorUtils.ts +0 -36
package/README.md
CHANGED
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
[](https://github.com/wandelbotsgmbh/nova-js/actions/workflows/release.yml)
|
|
6
6
|
[](https://deepwiki.com/wandelbotsgmbh/nova-js)
|
|
7
7
|
|
|
8
|
-
This library provides
|
|
8
|
+
This library provides an idiomatic TypeScript client for working with the Wandelbots NOVA API.
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
npm install @wandelbots/nova-js
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
If you develop an
|
|
14
|
+
If you develop an React application we also provide a set of [React components](https://github.com/wandelbotsgmbh/wandelbots-js-react-components) which you can use together with this library.
|
|
15
15
|
|
|
16
16
|
## Table of contents
|
|
17
17
|
|
|
@@ -217,20 +217,4 @@ You can use the [Jogging Panel](https://wandelbotsgmbh.github.io/wandelbots-js-r
|
|
|
217
217
|
|
|
218
218
|
## Contributing
|
|
219
219
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
npm install
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
Then you can run the tests which will use a mocked Nova API and socket connections:
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
npm run test
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Update packages:
|
|
233
|
-
|
|
234
|
-
```bash
|
|
235
|
-
npx npm-check-updates
|
|
236
|
-
```
|
|
220
|
+
If you would like to contribute a change to this repository, see [CONTRIBUTING.md](CONTRIBUTING.md).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginWithAuth0.d.ts","sourceRoot":"","sources":["../src/LoginWithAuth0.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoginWithAuth0.d.ts","sourceRoot":"","sources":["../src/LoginWithAuth0.ts"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,KAClB,OAAO,CAAC,MAAM,GAAG,IAAI,CAsDvB,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// src/lib/converters.ts
|
|
2
|
+
function tryParseJson(json) {
|
|
3
|
+
try {
|
|
4
|
+
return JSON.parse(json);
|
|
5
|
+
} catch (e) {
|
|
6
|
+
return void 0;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function tryStringifyJson(json) {
|
|
10
|
+
try {
|
|
11
|
+
return JSON.stringify(json);
|
|
12
|
+
} catch (e) {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function makeUrlQueryString(obj) {
|
|
17
|
+
const str = new URLSearchParams(obj).toString();
|
|
18
|
+
return str ? `?${str}` : "";
|
|
19
|
+
}
|
|
20
|
+
function radiansToDegrees(radians) {
|
|
21
|
+
return radians * (180 / Math.PI);
|
|
22
|
+
}
|
|
23
|
+
function degreesToRadians(degrees) {
|
|
24
|
+
return degrees * (Math.PI / 180);
|
|
25
|
+
}
|
|
26
|
+
function poseToWandelscriptString(pose) {
|
|
27
|
+
var _a, _b, _c, _d, _e, _f;
|
|
28
|
+
const position = [pose.position.x, pose.position.y, pose.position.z];
|
|
29
|
+
const orientation = [
|
|
30
|
+
(_b = (_a = pose.orientation) == null ? void 0 : _a.x) != null ? _b : 0,
|
|
31
|
+
(_d = (_c = pose.orientation) == null ? void 0 : _c.y) != null ? _d : 0,
|
|
32
|
+
(_f = (_e = pose.orientation) == null ? void 0 : _e.z) != null ? _f : 0
|
|
33
|
+
];
|
|
34
|
+
const positionValues = position.map((v) => v.toFixed(1));
|
|
35
|
+
const rotationValues = orientation.map((v) => v.toFixed(4));
|
|
36
|
+
return `(${positionValues.concat(rotationValues).join(", ")})`;
|
|
37
|
+
}
|
|
38
|
+
function isSameCoordinateSystem(firstCoordSystem, secondCoordSystem) {
|
|
39
|
+
if (!firstCoordSystem) firstCoordSystem = "world";
|
|
40
|
+
if (!secondCoordSystem) secondCoordSystem = "world";
|
|
41
|
+
return firstCoordSystem === secondCoordSystem;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export {
|
|
45
|
+
tryParseJson,
|
|
46
|
+
tryStringifyJson,
|
|
47
|
+
makeUrlQueryString,
|
|
48
|
+
radiansToDegrees,
|
|
49
|
+
degreesToRadians,
|
|
50
|
+
poseToWandelscriptString,
|
|
51
|
+
isSameCoordinateSystem
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=chunk-B2C22PTK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/converters.ts"],"sourcesContent":["import type { Pose } from \"@wandelbots/nova-api/v1\"\n\n/** Try to parse something as JSON; return undefined if we can't */\n// biome-ignore lint/suspicious/noExplicitAny: it's json\nexport function tryParseJson(json: unknown): any {\n try {\n return JSON.parse(json as string)\n } catch {\n return undefined\n }\n}\n\n/** Try to turn something into JSON; return undefined if we can't */\nexport function tryStringifyJson(json: unknown): string | undefined {\n try {\n return JSON.stringify(json)\n } catch {\n return undefined\n }\n}\n\n/**\n * Converts object parameters to query string.\n * e.g. { a: \"1\", b: \"2\" } => \"?a=1&b=2\"\n * {} => \"\"\n */\nexport function makeUrlQueryString(obj: Record<string, string>): string {\n const str = new URLSearchParams(obj).toString()\n return str ? `?${str}` : \"\"\n}\n\n/** Convert radians to degrees */\nexport function radiansToDegrees(radians: number): number {\n return radians * (180 / Math.PI)\n}\n\n/** Convert degrees to radians */\nexport function degreesToRadians(degrees: number): number {\n return degrees * (Math.PI / 180)\n}\n\n/**\n * Convert a Pose object representing a motion group position\n * into a string which represents that pose in Wandelscript.\n */\nexport function poseToWandelscriptString(\n pose: Pick<Pose, \"position\" | \"orientation\">,\n) {\n const position = [pose.position.x, pose.position.y, pose.position.z]\n const orientation = [\n pose.orientation?.x ?? 0,\n pose.orientation?.y ?? 0,\n pose.orientation?.z ?? 0,\n ]\n\n const positionValues = position.map((v) => v.toFixed(1))\n // Rotation needs more precision since it's in radians\n const rotationValues = orientation.map((v) => v.toFixed(4))\n\n return `(${positionValues.concat(rotationValues).join(\", \")})`\n}\n\n/**\n * Check for coordinate system id equivalence, accounting for the \"world\" default\n * on empty/undefined values.\n */\nexport function isSameCoordinateSystem(\n firstCoordSystem: string | undefined,\n secondCoordSystem: string | undefined,\n) {\n if (!firstCoordSystem) firstCoordSystem = \"world\"\n if (!secondCoordSystem) secondCoordSystem = \"world\"\n\n return firstCoordSystem === secondCoordSystem\n}\n"],"mappings":";AAIO,SAAS,aAAa,MAAoB;AAC/C,MAAI;AACF,WAAO,KAAK,MAAM,IAAc;AAAA,EAClC,SAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,iBAAiB,MAAmC;AAClE,MAAI;AACF,WAAO,KAAK,UAAU,IAAI;AAAA,EAC5B,SAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOO,SAAS,mBAAmB,KAAqC;AACtE,QAAM,MAAM,IAAI,gBAAgB,GAAG,EAAE,SAAS;AAC9C,SAAO,MAAM,IAAI,GAAG,KAAK;AAC3B;AAGO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,WAAW,MAAM,KAAK;AAC/B;AAGO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,WAAW,KAAK,KAAK;AAC9B;AAMO,SAAS,yBACd,MACA;AA/CF;AAgDE,QAAM,WAAW,CAAC,KAAK,SAAS,GAAG,KAAK,SAAS,GAAG,KAAK,SAAS,CAAC;AACnE,QAAM,cAAc;AAAA,KAClB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,KACvB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,KACvB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,EACzB;AAEA,QAAM,iBAAiB,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEvD,QAAM,iBAAiB,YAAY,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE1D,SAAO,IAAI,eAAe,OAAO,cAAc,EAAE,KAAK,IAAI,CAAC;AAC7D;AAMO,SAAS,uBACd,kBACA,mBACA;AACA,MAAI,CAAC,iBAAkB,oBAAmB;AAC1C,MAAI,CAAC,kBAAmB,qBAAoB;AAE5C,SAAO,qBAAqB;AAC9B;","names":[]}
|
|
@@ -237,7 +237,7 @@ var getAuth0Config = (instanceUrl) => {
|
|
|
237
237
|
"Unsupported instance URL. Cannot determine Auth0 configuration."
|
|
238
238
|
);
|
|
239
239
|
};
|
|
240
|
-
var loginWithAuth0 = (instanceUrl) => __async(
|
|
240
|
+
var loginWithAuth0 = (instanceUrl) => __async(null, null, function* () {
|
|
241
241
|
var _a;
|
|
242
242
|
if (typeof window === "undefined") {
|
|
243
243
|
throw new Error(
|
|
@@ -283,4 +283,4 @@ export {
|
|
|
283
283
|
availableStorage,
|
|
284
284
|
loginWithAuth0
|
|
285
285
|
};
|
|
286
|
-
//# sourceMappingURL=chunk-
|
|
286
|
+
//# sourceMappingURL=chunk-I3PUV6ZD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/AutoReconnectingWebsocket.ts","../src/lib/availableStorage.ts","../src/LoginWithAuth0.ts"],"sourcesContent":["import ReconnectingWebSocket, { type ErrorEvent } from \"reconnecting-websocket\"\nimport type * as v1 from \"./v1/mock/MockNovaInstance\"\nimport type * as v2 from \"./v2/mock/MockNovaInstance\"\n\nexport class AutoReconnectingWebsocket extends ReconnectingWebSocket {\n receivedFirstMessage?: MessageEvent\n targetUrl: string\n disposed = false\n\n constructor(\n targetUrl: string,\n readonly opts: {\n mock?: v1.MockNovaInstance | v2.MockNovaInstance\n onDispose?: () => void\n } = {},\n ) {\n console.log(\"Opening websocket to\", targetUrl)\n\n super(() => this.targetUrl || targetUrl, undefined, {\n startClosed: true,\n })\n\n // Reconnecting websocket doesn't set this properly with startClosed\n Object.defineProperty(this, \"url\", {\n get() {\n return this.targetUrl\n },\n })\n\n this.targetUrl = targetUrl\n\n this.addEventListener(\"open\", () => {\n console.log(`Websocket to ${this.url} opened`)\n })\n\n this.addEventListener(\"message\", (ev) => {\n if (!this.receivedFirstMessage) {\n this.receivedFirstMessage = ev\n }\n })\n\n this.addEventListener(\"close\", () => {\n console.log(`Websocket to ${this.url} closed`)\n })\n\n const origReconnect = this.reconnect\n this.reconnect = () => {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketConnection(this)\n } else {\n origReconnect.apply(this)\n }\n }\n\n this.reconnect()\n }\n\n changeUrl(targetUrl: string) {\n this.receivedFirstMessage = undefined\n this.targetUrl = targetUrl\n this.reconnect()\n }\n\n sendJson(data: unknown) {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketMessage(this, JSON.stringify(data))\n } else {\n this.send(JSON.stringify(data))\n }\n }\n\n /**\n * Permanently close this websocket and indicate that\n * this object should not be used again.\n **/\n dispose() {\n this.close()\n this.disposed = true\n if (this.opts.onDispose) {\n this.opts.onDispose()\n }\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the OPEN state. */\n async opened() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.OPEN) {\n resolve()\n } else {\n this.addEventListener(\"open\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the CLOSED state. */\n async closed() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.CLOSED) {\n resolve()\n } else {\n this.addEventListener(\"close\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves when the first message\n * is received from the websocket. Resolves immediately if\n * the first message has already been received.\n */\n async firstMessage() {\n if (this.receivedFirstMessage) {\n return this.receivedFirstMessage\n }\n\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.receivedFirstMessage = ev\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n\n /**\n * Returns a promise that resolves when the next message\n * is received from the websocket.\n */\n async nextMessage() {\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n}\n","/**\n * Safety wrapper around browser localStorage providing context availability\n * checks and JSON parsing\n */\nclass AvailableStorage {\n available = typeof window !== \"undefined\" && !!window.localStorage\n\n getJSON<T>(key: string): Partial<T> | null {\n if (!this.available) return null\n\n const result = window.localStorage.getItem(key)\n if (result === null) return null\n\n try {\n return JSON.parse(result)\n } catch (err) {\n return null\n }\n }\n\n setJSON(key: string, obj: unknown) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, JSON.stringify(obj))\n }\n\n delete(key: string) {\n if (!this.available) return null\n\n window.localStorage.removeItem(key)\n }\n\n setString(key: string, value: string) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, value)\n }\n\n getString(key: string): string | null {\n if (!this.available) return null\n\n return window.localStorage.getItem(key)\n }\n}\n\nexport const availableStorage = new AvailableStorage()\n","const DOMAIN_SUFFIX = \"wandelbots.io\"\n\n/** process.env is injected by tsup --env, so these are inlined at build time */\ndeclare const process: {\n env: Record<string, string | undefined>\n}\n\n/** Mapping of stages to Auth0 configurations */\nconst auth0ConfigMap = {\n dev: {\n domain: `https://auth.portal.dev.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_DEV_CLIENT_ID,\n },\n stg: {\n domain: `https://auth.portal.stg.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_STG_CLIENT_ID,\n },\n prod: {\n domain: `https://auth.portal.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_PROD_CLIENT_ID,\n },\n}\n\n/** Determine which Auth0 configuration to use based on instance URL */\nconst getAuth0Config = (instanceUrl: string) => {\n if (instanceUrl.includes(`dev.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.dev\n if (instanceUrl.includes(`stg.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.stg\n if (instanceUrl.includes(DOMAIN_SUFFIX)) return auth0ConfigMap.prod\n throw new Error(\n \"Unsupported instance URL. Cannot determine Auth0 configuration.\",\n )\n}\n\n/**\n * Initializes Auth0 login process using redirect if necessary and retrieves an access token.\n * Returns null when an access token should not be needed to authenticate (i.e. cookie auth\n * when deployed on the instance domain)\n */\nexport const loginWithAuth0 = async (\n instanceUrl: string,\n): Promise<string | null> => {\n if (typeof window === \"undefined\") {\n throw new Error(\n `Access token must be set to use NovaClient when not in a browser environment.`,\n )\n }\n\n const auth0Config = getAuth0Config(instanceUrl)\n\n if (new URL(instanceUrl).origin === window.location.origin) {\n // When deployed on the instance itself, our auth is handled by cookies\n // and no access token is needed-- just need to reload the page and it'll\n // login again / set cookie as needed\n window.location.reload()\n throw new Error(\n \"Failed to reload page to get auth details, please refresh manually\",\n )\n }\n\n // If we're on localhost or another domain, we need to do the full oauth flow\n // Note this will ONLY work for origins which are whitelisted as a redirect_uri\n // in the auth0 config, currently\n const { Auth0Client } = await import(\"@auth0/auth0-spa-js\")\n\n const auth0Client = new Auth0Client({\n domain: auth0Config.domain,\n clientId: auth0Config.clientId ?? \"\",\n useRefreshTokens: false,\n authorizationParams: {\n audience: \"nova-api\",\n redirect_uri: window.location.origin,\n },\n })\n\n // If the URL includes a redirect result, handle it\n if (\n window.location.search.includes(\"code=\") &&\n window.location.search.includes(\"state=\")\n ) {\n const { appState } = await auth0Client.handleRedirectCallback()\n // Return to the URL the user was originally on before the redirect\n window.history.replaceState(\n {},\n document.title,\n appState?.returnTo || window.location.pathname,\n )\n } else {\n // Initiate login with redirect\n await auth0Client.loginWithRedirect()\n }\n\n // Once logged in, retrieve the access token silently\n const accessToken = await auth0Client.getTokenSilently()\n return accessToken\n}\n"],"mappings":"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","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -286,89 +286,6 @@ function isSameCoordinateSystem(firstCoordSystem, secondCoordSystem) {
|
|
|
286
286
|
|
|
287
287
|
// src/lib/errorHandling.ts
|
|
288
288
|
var import_axios = require("axios");
|
|
289
|
-
|
|
290
|
-
// node_modules/lodash-es/_freeGlobal.js
|
|
291
|
-
var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
|
|
292
|
-
var freeGlobal_default = freeGlobal;
|
|
293
|
-
|
|
294
|
-
// node_modules/lodash-es/_root.js
|
|
295
|
-
var freeSelf = typeof self == "object" && self && self.Object === Object && self;
|
|
296
|
-
var root = freeGlobal_default || freeSelf || Function("return this")();
|
|
297
|
-
var root_default = root;
|
|
298
|
-
|
|
299
|
-
// node_modules/lodash-es/_Symbol.js
|
|
300
|
-
var Symbol2 = root_default.Symbol;
|
|
301
|
-
var Symbol_default = Symbol2;
|
|
302
|
-
|
|
303
|
-
// node_modules/lodash-es/_getRawTag.js
|
|
304
|
-
var objectProto = Object.prototype;
|
|
305
|
-
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
306
|
-
var nativeObjectToString = objectProto.toString;
|
|
307
|
-
var symToStringTag = Symbol_default ? Symbol_default.toStringTag : void 0;
|
|
308
|
-
function getRawTag(value) {
|
|
309
|
-
var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
|
|
310
|
-
try {
|
|
311
|
-
value[symToStringTag] = void 0;
|
|
312
|
-
var unmasked = true;
|
|
313
|
-
} catch (e) {
|
|
314
|
-
}
|
|
315
|
-
var result = nativeObjectToString.call(value);
|
|
316
|
-
if (unmasked) {
|
|
317
|
-
if (isOwn) {
|
|
318
|
-
value[symToStringTag] = tag;
|
|
319
|
-
} else {
|
|
320
|
-
delete value[symToStringTag];
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
return result;
|
|
324
|
-
}
|
|
325
|
-
var getRawTag_default = getRawTag;
|
|
326
|
-
|
|
327
|
-
// node_modules/lodash-es/_objectToString.js
|
|
328
|
-
var objectProto2 = Object.prototype;
|
|
329
|
-
var nativeObjectToString2 = objectProto2.toString;
|
|
330
|
-
function objectToString(value) {
|
|
331
|
-
return nativeObjectToString2.call(value);
|
|
332
|
-
}
|
|
333
|
-
var objectToString_default = objectToString;
|
|
334
|
-
|
|
335
|
-
// node_modules/lodash-es/_baseGetTag.js
|
|
336
|
-
var nullTag = "[object Null]";
|
|
337
|
-
var undefinedTag = "[object Undefined]";
|
|
338
|
-
var symToStringTag2 = Symbol_default ? Symbol_default.toStringTag : void 0;
|
|
339
|
-
function baseGetTag(value) {
|
|
340
|
-
if (value == null) {
|
|
341
|
-
return value === void 0 ? undefinedTag : nullTag;
|
|
342
|
-
}
|
|
343
|
-
return symToStringTag2 && symToStringTag2 in Object(value) ? getRawTag_default(value) : objectToString_default(value);
|
|
344
|
-
}
|
|
345
|
-
var baseGetTag_default = baseGetTag;
|
|
346
|
-
|
|
347
|
-
// node_modules/lodash-es/isObjectLike.js
|
|
348
|
-
function isObjectLike(value) {
|
|
349
|
-
return value != null && typeof value == "object";
|
|
350
|
-
}
|
|
351
|
-
var isObjectLike_default = isObjectLike;
|
|
352
|
-
|
|
353
|
-
// node_modules/lodash-es/isArray.js
|
|
354
|
-
var isArray = Array.isArray;
|
|
355
|
-
var isArray_default = isArray;
|
|
356
|
-
|
|
357
|
-
// node_modules/lodash-es/isObject.js
|
|
358
|
-
function isObject(value) {
|
|
359
|
-
var type = typeof value;
|
|
360
|
-
return value != null && (type == "object" || type == "function");
|
|
361
|
-
}
|
|
362
|
-
var isObject_default = isObject;
|
|
363
|
-
|
|
364
|
-
// node_modules/lodash-es/isString.js
|
|
365
|
-
var stringTag = "[object String]";
|
|
366
|
-
function isString(value) {
|
|
367
|
-
return typeof value == "string" || !isArray_default(value) && isObjectLike_default(value) && baseGetTag_default(value) == stringTag;
|
|
368
|
-
}
|
|
369
|
-
var isString_default = isString;
|
|
370
|
-
|
|
371
|
-
// src/lib/errorHandling.ts
|
|
372
289
|
function delay(ms) {
|
|
373
290
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
374
291
|
}
|
|
@@ -389,9 +306,9 @@ function makeErrorMessage(err) {
|
|
|
389
306
|
}
|
|
390
307
|
} else if (err instanceof Error) {
|
|
391
308
|
return err.message;
|
|
392
|
-
} else if (
|
|
309
|
+
} else if (typeof err === "string") {
|
|
393
310
|
return err;
|
|
394
|
-
} else if (
|
|
311
|
+
} else if (typeof err === "object") {
|
|
395
312
|
return tryStringifyJson(err) || `Unserializable object ${err}`;
|
|
396
313
|
}
|
|
397
314
|
return `${err}`;
|
|
@@ -421,7 +338,7 @@ var getAuth0Config = (instanceUrl) => {
|
|
|
421
338
|
"Unsupported instance URL. Cannot determine Auth0 configuration."
|
|
422
339
|
);
|
|
423
340
|
};
|
|
424
|
-
var loginWithAuth0 = (instanceUrl) => __async(
|
|
341
|
+
var loginWithAuth0 = (instanceUrl) => __async(null, null, function* () {
|
|
425
342
|
var _a;
|
|
426
343
|
if (typeof window === "undefined") {
|
|
427
344
|
throw new Error(
|
|
@@ -474,17 +391,4 @@ var loginWithAuth0 = (instanceUrl) => __async(void 0, null, function* () {
|
|
|
474
391
|
tryParseJson,
|
|
475
392
|
tryStringifyJson
|
|
476
393
|
});
|
|
477
|
-
/*! Bundled license information:
|
|
478
|
-
|
|
479
|
-
lodash-es/lodash.js:
|
|
480
|
-
(**
|
|
481
|
-
* @license
|
|
482
|
-
* Lodash (Custom Build) <https://lodash.com/>
|
|
483
|
-
* Build: `lodash modularize exports="es" -o ./`
|
|
484
|
-
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
485
|
-
* Released under MIT license <https://lodash.com/license>
|
|
486
|
-
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
487
|
-
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
488
|
-
*)
|
|
489
|
-
*/
|
|
490
394
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/lib/AutoReconnectingWebsocket.ts","../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../node_modules/lodash-es/_freeGlobal.js","../node_modules/lodash-es/_root.js","../node_modules/lodash-es/_Symbol.js","../node_modules/lodash-es/_getRawTag.js","../node_modules/lodash-es/_objectToString.js","../node_modules/lodash-es/_baseGetTag.js","../node_modules/lodash-es/isObjectLike.js","../node_modules/lodash-es/isArray.js","../node_modules/lodash-es/isObject.js","../node_modules/lodash-es/isString.js","../src/LoginWithAuth0.ts"],"sourcesContent":["export * from \"./lib/AutoReconnectingWebsocket\"\nexport * from \"./lib/availableStorage\"\nexport * from \"./lib/converters\"\nexport * from \"./lib/errorHandling\"\nexport * from \"./LoginWithAuth0\"\n","import ReconnectingWebSocket, { type ErrorEvent } from \"reconnecting-websocket\"\nimport * as v2 from \"./v2/mock/MockNovaInstance\"\nimport * as v1 from \"./v1/mock/MockNovaInstance\"\n\nexport class AutoReconnectingWebsocket extends ReconnectingWebSocket {\n receivedFirstMessage?: MessageEvent\n targetUrl: string\n disposed = false\n\n constructor(\n targetUrl: string,\n readonly opts: {\n mock?: v1.MockNovaInstance | v2.MockNovaInstance\n onDispose?: () => void\n } = {},\n ) {\n console.log(\"Opening websocket to\", targetUrl)\n\n super(() => this.targetUrl || targetUrl, undefined, {\n startClosed: true,\n })\n\n // Reconnecting websocket doesn't set this properly with startClosed\n Object.defineProperty(this, \"url\", {\n get() {\n return this.targetUrl\n },\n })\n\n this.targetUrl = targetUrl\n\n this.addEventListener(\"open\", () => {\n console.log(`Websocket to ${this.url} opened`)\n })\n\n this.addEventListener(\"message\", (ev) => {\n if (!this.receivedFirstMessage) {\n this.receivedFirstMessage = ev\n }\n })\n\n this.addEventListener(\"close\", () => {\n console.log(`Websocket to ${this.url} closed`)\n })\n\n const origReconnect = this.reconnect\n this.reconnect = () => {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketConnection(this)\n } else {\n origReconnect.apply(this)\n }\n }\n\n this.reconnect()\n }\n\n changeUrl(targetUrl: string) {\n this.receivedFirstMessage = undefined\n this.targetUrl = targetUrl\n this.reconnect()\n }\n\n sendJson(data: unknown) {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketMessage(this, JSON.stringify(data))\n } else {\n this.send(JSON.stringify(data))\n }\n }\n\n /**\n * Permanently close this websocket and indicate that\n * this object should not be used again.\n **/\n dispose() {\n this.close()\n this.disposed = true\n if (this.opts.onDispose) {\n this.opts.onDispose()\n }\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the OPEN state. */\n async opened() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.OPEN) {\n resolve()\n } else {\n this.addEventListener(\"open\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the CLOSED state. */\n async closed() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.CLOSED) {\n resolve()\n } else {\n this.addEventListener(\"close\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves when the first message\n * is received from the websocket. Resolves immediately if\n * the first message has already been received.\n */\n async firstMessage() {\n if (this.receivedFirstMessage) {\n return this.receivedFirstMessage\n }\n\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.receivedFirstMessage = ev\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n\n /**\n * Returns a promise that resolves when the next message\n * is received from the websocket.\n */\n async nextMessage() {\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n}\n","/**\n * Safety wrapper around browser localStorage providing context availability\n * checks and JSON parsing\n */\nclass AvailableStorage {\n available = typeof window !== \"undefined\" && !!window.localStorage\n\n getJSON<T>(key: string): Partial<T> | null {\n if (!this.available) return null\n\n const result = window.localStorage.getItem(key)\n if (result === null) return null\n\n try {\n return JSON.parse(result)\n } catch (err) {\n return null\n }\n }\n\n setJSON(key: string, obj: any) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, JSON.stringify(obj))\n }\n\n delete(key: string) {\n if (!this.available) return null\n\n window.localStorage.removeItem(key)\n }\n\n setString(key: string, value: string) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, value)\n }\n\n getString(key: string): string | null {\n if (!this.available) return null\n\n return window.localStorage.getItem(key)\n }\n}\n\nexport const availableStorage = new AvailableStorage()\n","import type { Pose } from \"@wandelbots/nova-api/v1\"\n\n/** Try to parse something as JSON; return undefined if we can't */\nexport function tryParseJson(json: unknown): any {\n try {\n return JSON.parse(json as string)\n } catch {\n return undefined\n }\n}\n\n/** Try to turn something into JSON; return undefined if we can't */\nexport function tryStringifyJson(json: unknown): string | undefined {\n try {\n return JSON.stringify(json)\n } catch {\n return undefined\n }\n}\n\n/**\n * Converts object parameters to query string.\n * e.g. { a: \"1\", b: \"2\" } => \"?a=1&b=2\"\n * {} => \"\"\n */\nexport function makeUrlQueryString(obj: Record<string, string>): string {\n const str = new URLSearchParams(obj).toString()\n return str ? `?${str}` : \"\"\n}\n\n/** Convert radians to degrees */\nexport function radiansToDegrees(radians: number): number {\n return radians * (180 / Math.PI)\n}\n\n/** Convert degrees to radians */\nexport function degreesToRadians(degrees: number): number {\n return degrees * (Math.PI / 180)\n}\n\n/**\n * Convert a Pose object representing a motion group position\n * into a string which represents that pose in Wandelscript.\n */\nexport function poseToWandelscriptString(\n pose: Pick<Pose, \"position\" | \"orientation\">,\n) {\n const position = [pose.position.x, pose.position.y, pose.position.z]\n const orientation = [\n pose.orientation?.x ?? 0,\n pose.orientation?.y ?? 0,\n pose.orientation?.z ?? 0,\n ]\n\n const positionValues = position.map((v) => v.toFixed(1))\n // Rotation needs more precision since it's in radians\n const rotationValues = orientation.map((v) => v.toFixed(4))\n\n return `(${positionValues.concat(rotationValues).join(\", \")})`\n}\n\n/**\n * Check for coordinate system id equivalence, accounting for the \"world\" default\n * on empty/undefined values.\n */\nexport function isSameCoordinateSystem(\n firstCoordSystem: string | undefined,\n secondCoordSystem: string | undefined,\n) {\n if (!firstCoordSystem) firstCoordSystem = \"world\"\n if (!secondCoordSystem) secondCoordSystem = \"world\"\n\n return firstCoordSystem === secondCoordSystem\n}\n","import { AxiosError } from \"axios\"\nimport { isObject, isString } from \"lodash-es\"\nimport { tryStringifyJson } from \"./converters\"\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * @deprecated Use makeErrorMessage instead and truncate the error for display as needed, or make a situation-specific localized error message based on a response code\n */\nexport function makeShortErrorMessage(err: unknown) {\n return makeErrorMessage(err)\n}\n\n/**\n * Attempts to make a helpful error message from an unknown thrown error\n * or promise rejection.\n *\n * This function is mainly to aid debugging and good bug reports. For\n * expected errors encountered by end users, it's more ideal to catch\n * the specific error code and provide a localized app-specific error message.\n */\nexport function makeErrorMessage(err: unknown): string {\n if (err instanceof AxiosError) {\n if (err.response) {\n return `${err.response?.status} ${err.response?.statusText} from ${err.response?.config.method?.toUpperCase() || \"accessing\"} ${err.response?.config.url}: ${JSON.stringify(err.response?.data)}`\n } else if (err.config) {\n if (err.code === \"ERR_NETWORK\") {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}. This error can happen because of either connection issues or server CORS policy.`\n } else {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}`\n }\n }\n } else if (err instanceof Error) {\n return err.message\n } else if (isString(err)) {\n return err\n } else if (isObject(err)) {\n return tryStringifyJson(err) || `Unserializable object ${err}`\n }\n\n return `${err}`\n}\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","const DOMAIN_SUFFIX = \"wandelbots.io\"\n\n/** Mapping of stages to Auth0 configurations */\nconst auth0ConfigMap = {\n dev: {\n domain: `https://auth.portal.dev.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_DEV_CLIENT_ID,\n },\n stg: {\n domain: `https://auth.portal.stg.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_STG_CLIENT_ID,\n },\n prod: {\n domain: `https://auth.portal.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_PROD_CLIENT_ID,\n },\n}\n\n/** Determine which Auth0 configuration to use based on instance URL */\nconst getAuth0Config = (instanceUrl: string) => {\n if (instanceUrl.includes(`dev.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.dev\n if (instanceUrl.includes(`stg.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.stg\n if (instanceUrl.includes(DOMAIN_SUFFIX)) return auth0ConfigMap.prod\n throw new Error(\n \"Unsupported instance URL. Cannot determine Auth0 configuration.\",\n )\n}\n\n/**\n * Initializes Auth0 login process using redirect if necessary and retrieves an access token.\n * Returns null when an access token should not be needed to authenticate (i.e. cookie auth\n * when deployed on the instance domain)\n */\nexport const loginWithAuth0 = async (\n instanceUrl: string,\n): Promise<string | null> => {\n if (typeof window === \"undefined\") {\n throw new Error(\n `Access token must be set to use NovaClient when not in a browser environment.`,\n )\n }\n\n const auth0Config = getAuth0Config(instanceUrl)\n\n if (new URL(instanceUrl).origin === window.location.origin) {\n // When deployed on the instance itself, our auth is handled by cookies\n // and no access token is needed-- just need to reload the page and it'll\n // login again / set cookie as needed\n window.location.reload()\n throw new Error(\n \"Failed to reload page to get auth details, please refresh manually\",\n )\n }\n\n // If we're on localhost or another domain, we need to do the full oauth flow\n // Note this will ONLY work for origins which are whitelisted as a redirect_uri\n // in the auth0 config, currently\n const { Auth0Client } = await import(\"@auth0/auth0-spa-js\")\n\n const auth0Client = new Auth0Client({\n domain: auth0Config.domain,\n clientId: auth0Config.clientId ?? \"\",\n useRefreshTokens: false,\n authorizationParams: {\n audience: \"nova-api\",\n redirect_uri: window.location.origin,\n },\n })\n\n // If the URL includes a redirect result, handle it\n if (\n window.location.search.includes(\"code=\") &&\n window.location.search.includes(\"state=\")\n ) {\n const { appState } = await auth0Client.handleRedirectCallback()\n // Return to the URL the user was originally on before the redirect\n window.history.replaceState(\n {},\n document.title,\n appState?.returnTo || window.location.pathname,\n )\n } else {\n // Initiate login with redirect\n await auth0Client.loginWithRedirect()\n }\n\n // Once logged in, retrieve the access token silently\n const accessToken = await auth0Client.getTokenSilently()\n return accessToken\n}\n"],"mappings":"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","names":["ReconnectingWebSocket","Symbol","objectProto","nativeObjectToString","symToStringTag"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/lib/AutoReconnectingWebsocket.ts","../src/lib/availableStorage.ts","../src/lib/converters.ts","../src/lib/errorHandling.ts","../src/LoginWithAuth0.ts"],"sourcesContent":["export * from \"./lib/AutoReconnectingWebsocket\"\nexport * from \"./lib/availableStorage\"\nexport * from \"./lib/converters\"\nexport * from \"./lib/errorHandling\"\nexport * from \"./LoginWithAuth0\"\n","import ReconnectingWebSocket, { type ErrorEvent } from \"reconnecting-websocket\"\nimport type * as v1 from \"./v1/mock/MockNovaInstance\"\nimport type * as v2 from \"./v2/mock/MockNovaInstance\"\n\nexport class AutoReconnectingWebsocket extends ReconnectingWebSocket {\n receivedFirstMessage?: MessageEvent\n targetUrl: string\n disposed = false\n\n constructor(\n targetUrl: string,\n readonly opts: {\n mock?: v1.MockNovaInstance | v2.MockNovaInstance\n onDispose?: () => void\n } = {},\n ) {\n console.log(\"Opening websocket to\", targetUrl)\n\n super(() => this.targetUrl || targetUrl, undefined, {\n startClosed: true,\n })\n\n // Reconnecting websocket doesn't set this properly with startClosed\n Object.defineProperty(this, \"url\", {\n get() {\n return this.targetUrl\n },\n })\n\n this.targetUrl = targetUrl\n\n this.addEventListener(\"open\", () => {\n console.log(`Websocket to ${this.url} opened`)\n })\n\n this.addEventListener(\"message\", (ev) => {\n if (!this.receivedFirstMessage) {\n this.receivedFirstMessage = ev\n }\n })\n\n this.addEventListener(\"close\", () => {\n console.log(`Websocket to ${this.url} closed`)\n })\n\n const origReconnect = this.reconnect\n this.reconnect = () => {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketConnection(this)\n } else {\n origReconnect.apply(this)\n }\n }\n\n this.reconnect()\n }\n\n changeUrl(targetUrl: string) {\n this.receivedFirstMessage = undefined\n this.targetUrl = targetUrl\n this.reconnect()\n }\n\n sendJson(data: unknown) {\n if (this.opts.mock) {\n this.opts.mock.handleWebsocketMessage(this, JSON.stringify(data))\n } else {\n this.send(JSON.stringify(data))\n }\n }\n\n /**\n * Permanently close this websocket and indicate that\n * this object should not be used again.\n **/\n dispose() {\n this.close()\n this.disposed = true\n if (this.opts.onDispose) {\n this.opts.onDispose()\n }\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the OPEN state. */\n async opened() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.OPEN) {\n resolve()\n } else {\n this.addEventListener(\"open\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves once the websocket\n * is in the CLOSED state. */\n async closed() {\n return new Promise<void>((resolve, reject) => {\n if (this.readyState === WebSocket.CLOSED) {\n resolve()\n } else {\n this.addEventListener(\"close\", () => resolve())\n this.addEventListener(\"error\", reject)\n }\n })\n }\n\n /**\n * Returns a promise that resolves when the first message\n * is received from the websocket. Resolves immediately if\n * the first message has already been received.\n */\n async firstMessage() {\n if (this.receivedFirstMessage) {\n return this.receivedFirstMessage\n }\n\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.receivedFirstMessage = ev\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n\n /**\n * Returns a promise that resolves when the next message\n * is received from the websocket.\n */\n async nextMessage() {\n return new Promise<MessageEvent>((resolve, reject) => {\n const onMessage = (ev: MessageEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n resolve(ev)\n }\n\n const onError = (ev: ErrorEvent) => {\n this.removeEventListener(\"message\", onMessage)\n this.removeEventListener(\"error\", onError)\n reject(ev)\n }\n\n this.addEventListener(\"message\", onMessage)\n this.addEventListener(\"error\", onError)\n })\n }\n}\n","/**\n * Safety wrapper around browser localStorage providing context availability\n * checks and JSON parsing\n */\nclass AvailableStorage {\n available = typeof window !== \"undefined\" && !!window.localStorage\n\n getJSON<T>(key: string): Partial<T> | null {\n if (!this.available) return null\n\n const result = window.localStorage.getItem(key)\n if (result === null) return null\n\n try {\n return JSON.parse(result)\n } catch (err) {\n return null\n }\n }\n\n setJSON(key: string, obj: unknown) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, JSON.stringify(obj))\n }\n\n delete(key: string) {\n if (!this.available) return null\n\n window.localStorage.removeItem(key)\n }\n\n setString(key: string, value: string) {\n if (!this.available) return null\n\n window.localStorage.setItem(key, value)\n }\n\n getString(key: string): string | null {\n if (!this.available) return null\n\n return window.localStorage.getItem(key)\n }\n}\n\nexport const availableStorage = new AvailableStorage()\n","import type { Pose } from \"@wandelbots/nova-api/v1\"\n\n/** Try to parse something as JSON; return undefined if we can't */\n// biome-ignore lint/suspicious/noExplicitAny: it's json\nexport function tryParseJson(json: unknown): any {\n try {\n return JSON.parse(json as string)\n } catch {\n return undefined\n }\n}\n\n/** Try to turn something into JSON; return undefined if we can't */\nexport function tryStringifyJson(json: unknown): string | undefined {\n try {\n return JSON.stringify(json)\n } catch {\n return undefined\n }\n}\n\n/**\n * Converts object parameters to query string.\n * e.g. { a: \"1\", b: \"2\" } => \"?a=1&b=2\"\n * {} => \"\"\n */\nexport function makeUrlQueryString(obj: Record<string, string>): string {\n const str = new URLSearchParams(obj).toString()\n return str ? `?${str}` : \"\"\n}\n\n/** Convert radians to degrees */\nexport function radiansToDegrees(radians: number): number {\n return radians * (180 / Math.PI)\n}\n\n/** Convert degrees to radians */\nexport function degreesToRadians(degrees: number): number {\n return degrees * (Math.PI / 180)\n}\n\n/**\n * Convert a Pose object representing a motion group position\n * into a string which represents that pose in Wandelscript.\n */\nexport function poseToWandelscriptString(\n pose: Pick<Pose, \"position\" | \"orientation\">,\n) {\n const position = [pose.position.x, pose.position.y, pose.position.z]\n const orientation = [\n pose.orientation?.x ?? 0,\n pose.orientation?.y ?? 0,\n pose.orientation?.z ?? 0,\n ]\n\n const positionValues = position.map((v) => v.toFixed(1))\n // Rotation needs more precision since it's in radians\n const rotationValues = orientation.map((v) => v.toFixed(4))\n\n return `(${positionValues.concat(rotationValues).join(\", \")})`\n}\n\n/**\n * Check for coordinate system id equivalence, accounting for the \"world\" default\n * on empty/undefined values.\n */\nexport function isSameCoordinateSystem(\n firstCoordSystem: string | undefined,\n secondCoordSystem: string | undefined,\n) {\n if (!firstCoordSystem) firstCoordSystem = \"world\"\n if (!secondCoordSystem) secondCoordSystem = \"world\"\n\n return firstCoordSystem === secondCoordSystem\n}\n","import { AxiosError } from \"axios\"\nimport { tryStringifyJson } from \"./converters\"\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * @deprecated Use makeErrorMessage instead and truncate the error for display as needed, or make a situation-specific localized error message based on a response code\n */\nexport function makeShortErrorMessage(err: unknown) {\n return makeErrorMessage(err)\n}\n\n/**\n * Attempts to make a helpful error message from an unknown thrown error\n * or promise rejection.\n *\n * This function is mainly to aid debugging and good bug reports. For\n * expected errors encountered by end users, it's more ideal to catch\n * the specific error code and provide a localized app-specific error message.\n */\nexport function makeErrorMessage(err: unknown): string {\n if (err instanceof AxiosError) {\n if (err.response) {\n return `${err.response?.status} ${err.response?.statusText} from ${err.response?.config.method?.toUpperCase() || \"accessing\"} ${err.response?.config.url}: ${JSON.stringify(err.response?.data)}`\n } else if (err.config) {\n if (err.code === \"ERR_NETWORK\") {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}. This error can happen because of either connection issues or server CORS policy.`\n } else {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}`\n }\n }\n } else if (err instanceof Error) {\n return err.message\n } else if (typeof err === \"string\") {\n return err\n } else if (typeof err === \"object\") {\n return tryStringifyJson(err) || `Unserializable object ${err}`\n }\n\n return `${err}`\n}\n","const DOMAIN_SUFFIX = \"wandelbots.io\"\n\n/** process.env is injected by tsup --env, so these are inlined at build time */\ndeclare const process: {\n env: Record<string, string | undefined>\n}\n\n/** Mapping of stages to Auth0 configurations */\nconst auth0ConfigMap = {\n dev: {\n domain: `https://auth.portal.dev.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_DEV_CLIENT_ID,\n },\n stg: {\n domain: `https://auth.portal.stg.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_STG_CLIENT_ID,\n },\n prod: {\n domain: `https://auth.portal.${DOMAIN_SUFFIX}`,\n clientId: process.env.NOVA_AUTH0_PROD_CLIENT_ID,\n },\n}\n\n/** Determine which Auth0 configuration to use based on instance URL */\nconst getAuth0Config = (instanceUrl: string) => {\n if (instanceUrl.includes(`dev.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.dev\n if (instanceUrl.includes(`stg.${DOMAIN_SUFFIX}`)) return auth0ConfigMap.stg\n if (instanceUrl.includes(DOMAIN_SUFFIX)) return auth0ConfigMap.prod\n throw new Error(\n \"Unsupported instance URL. Cannot determine Auth0 configuration.\",\n )\n}\n\n/**\n * Initializes Auth0 login process using redirect if necessary and retrieves an access token.\n * Returns null when an access token should not be needed to authenticate (i.e. cookie auth\n * when deployed on the instance domain)\n */\nexport const loginWithAuth0 = async (\n instanceUrl: string,\n): Promise<string | null> => {\n if (typeof window === \"undefined\") {\n throw new Error(\n `Access token must be set to use NovaClient when not in a browser environment.`,\n )\n }\n\n const auth0Config = getAuth0Config(instanceUrl)\n\n if (new URL(instanceUrl).origin === window.location.origin) {\n // When deployed on the instance itself, our auth is handled by cookies\n // and no access token is needed-- just need to reload the page and it'll\n // login again / set cookie as needed\n window.location.reload()\n throw new Error(\n \"Failed to reload page to get auth details, please refresh manually\",\n )\n }\n\n // If we're on localhost or another domain, we need to do the full oauth flow\n // Note this will ONLY work for origins which are whitelisted as a redirect_uri\n // in the auth0 config, currently\n const { Auth0Client } = await import(\"@auth0/auth0-spa-js\")\n\n const auth0Client = new Auth0Client({\n domain: auth0Config.domain,\n clientId: auth0Config.clientId ?? \"\",\n useRefreshTokens: false,\n authorizationParams: {\n audience: \"nova-api\",\n redirect_uri: window.location.origin,\n },\n })\n\n // If the URL includes a redirect result, handle it\n if (\n window.location.search.includes(\"code=\") &&\n window.location.search.includes(\"state=\")\n ) {\n const { appState } = await auth0Client.handleRedirectCallback()\n // Return to the URL the user was originally on before the redirect\n window.history.replaceState(\n {},\n document.title,\n appState?.returnTo || window.location.pathname,\n )\n } else {\n // Initiate login with redirect\n await auth0Client.loginWithRedirect()\n }\n\n // Once logged in, retrieve the access token silently\n const accessToken = await auth0Client.getTokenSilently()\n return accessToken\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oCAAuD;AAIhD,IAAM,4BAAN,cAAwC,8BAAAA,QAAsB;AAAA,EAKnE,YACE,WACS,OAGL,CAAC,GACL;AACA,YAAQ,IAAI,wBAAwB,SAAS;AAE7C,UAAM,MAAM,KAAK,aAAa,WAAW,QAAW;AAAA,MAClD,aAAa;AAAA,IACf,CAAC;AATQ;AAJX,oBAAW;AAgBT,WAAO,eAAe,MAAM,OAAO;AAAA,MACjC,MAAM;AACJ,eAAO,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AAED,SAAK,YAAY;AAEjB,SAAK,iBAAiB,QAAQ,MAAM;AAClC,cAAQ,IAAI,gBAAgB,KAAK,GAAG,SAAS;AAAA,IAC/C,CAAC;AAED,SAAK,iBAAiB,WAAW,CAAC,OAAO;AACvC,UAAI,CAAC,KAAK,sBAAsB;AAC9B,aAAK,uBAAuB;AAAA,MAC9B;AAAA,IACF,CAAC;AAED,SAAK,iBAAiB,SAAS,MAAM;AACnC,cAAQ,IAAI,gBAAgB,KAAK,GAAG,SAAS;AAAA,IAC/C,CAAC;AAED,UAAM,gBAAgB,KAAK;AAC3B,SAAK,YAAY,MAAM;AACrB,UAAI,KAAK,KAAK,MAAM;AAClB,aAAK,KAAK,KAAK,0BAA0B,IAAI;AAAA,MAC/C,OAAO;AACL,sBAAc,MAAM,IAAI;AAAA,MAC1B;AAAA,IACF;AAEA,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,UAAU,WAAmB;AAC3B,SAAK,uBAAuB;AAC5B,SAAK,YAAY;AACjB,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,MAAe;AACtB,QAAI,KAAK,KAAK,MAAM;AAClB,WAAK,KAAK,KAAK,uBAAuB,MAAM,KAAK,UAAU,IAAI,CAAC;AAAA,IAClE,OAAO;AACL,WAAK,KAAK,KAAK,UAAU,IAAI,CAAC;AAAA,IAChC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AACR,SAAK,MAAM;AACX,SAAK,WAAW;AAChB,QAAI,KAAK,KAAK,WAAW;AACvB,WAAK,KAAK,UAAU;AAAA,IACtB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKM,SAAS;AAAA;AACb,aAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,YAAI,KAAK,eAAe,UAAU,MAAM;AACtC,kBAAQ;AAAA,QACV,OAAO;AACL,eAAK,iBAAiB,QAAQ,MAAM,QAAQ,CAAC;AAC7C,eAAK,iBAAiB,SAAS,MAAM;AAAA,QACvC;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKM,SAAS;AAAA;AACb,aAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC5C,YAAI,KAAK,eAAe,UAAU,QAAQ;AACxC,kBAAQ;AAAA,QACV,OAAO;AACL,eAAK,iBAAiB,SAAS,MAAM,QAAQ,CAAC;AAC9C,eAAK,iBAAiB,SAAS,MAAM;AAAA,QACvC;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOM,eAAe;AAAA;AACnB,UAAI,KAAK,sBAAsB;AAC7B,eAAO,KAAK;AAAA,MACd;AAEA,aAAO,IAAI,QAAsB,CAAC,SAAS,WAAW;AACpD,cAAM,YAAY,CAAC,OAAqB;AACtC,eAAK,uBAAuB;AAC5B,eAAK,oBAAoB,WAAW,SAAS;AAC7C,eAAK,oBAAoB,SAAS,OAAO;AACzC,kBAAQ,EAAE;AAAA,QACZ;AAEA,cAAM,UAAU,CAAC,OAAmB;AAClC,eAAK,oBAAoB,WAAW,SAAS;AAC7C,eAAK,oBAAoB,SAAS,OAAO;AACzC,iBAAO,EAAE;AAAA,QACX;AAEA,aAAK,iBAAiB,WAAW,SAAS;AAC1C,aAAK,iBAAiB,SAAS,OAAO;AAAA,MACxC,CAAC;AAAA,IACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMM,cAAc;AAAA;AAClB,aAAO,IAAI,QAAsB,CAAC,SAAS,WAAW;AACpD,cAAM,YAAY,CAAC,OAAqB;AACtC,eAAK,oBAAoB,WAAW,SAAS;AAC7C,eAAK,oBAAoB,SAAS,OAAO;AACzC,kBAAQ,EAAE;AAAA,QACZ;AAEA,cAAM,UAAU,CAAC,OAAmB;AAClC,eAAK,oBAAoB,WAAW,SAAS;AAC7C,eAAK,oBAAoB,SAAS,OAAO;AACzC,iBAAO,EAAE;AAAA,QACX;AAEA,aAAK,iBAAiB,WAAW,SAAS;AAC1C,aAAK,iBAAiB,SAAS,OAAO;AAAA,MACxC,CAAC;AAAA,IACH;AAAA;AACF;;;AC9JA,IAAM,mBAAN,MAAuB;AAAA,EAAvB;AACE,qBAAY,OAAO,WAAW,eAAe,CAAC,CAAC,OAAO;AAAA;AAAA,EAEtD,QAAW,KAAgC;AACzC,QAAI,CAAC,KAAK,UAAW,QAAO;AAE5B,UAAM,SAAS,OAAO,aAAa,QAAQ,GAAG;AAC9C,QAAI,WAAW,KAAM,QAAO;AAE5B,QAAI;AACF,aAAO,KAAK,MAAM,MAAM;AAAA,IAC1B,SAAS,KAAK;AACZ,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,QAAQ,KAAa,KAAc;AACjC,QAAI,CAAC,KAAK,UAAW,QAAO;AAE5B,WAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,GAAG,CAAC;AAAA,EACtD;AAAA,EAEA,OAAO,KAAa;AAClB,QAAI,CAAC,KAAK,UAAW,QAAO;AAE5B,WAAO,aAAa,WAAW,GAAG;AAAA,EACpC;AAAA,EAEA,UAAU,KAAa,OAAe;AACpC,QAAI,CAAC,KAAK,UAAW,QAAO;AAE5B,WAAO,aAAa,QAAQ,KAAK,KAAK;AAAA,EACxC;AAAA,EAEA,UAAU,KAA4B;AACpC,QAAI,CAAC,KAAK,UAAW,QAAO;AAE5B,WAAO,OAAO,aAAa,QAAQ,GAAG;AAAA,EACxC;AACF;AAEO,IAAM,mBAAmB,IAAI,iBAAiB;;;ACzC9C,SAAS,aAAa,MAAoB;AAC/C,MAAI;AACF,WAAO,KAAK,MAAM,IAAc;AAAA,EAClC,SAAQ;AACN,WAAO;AAAA,EACT;AACF;AAGO,SAAS,iBAAiB,MAAmC;AAClE,MAAI;AACF,WAAO,KAAK,UAAU,IAAI;AAAA,EAC5B,SAAQ;AACN,WAAO;AAAA,EACT;AACF;AAOO,SAAS,mBAAmB,KAAqC;AACtE,QAAM,MAAM,IAAI,gBAAgB,GAAG,EAAE,SAAS;AAC9C,SAAO,MAAM,IAAI,GAAG,KAAK;AAC3B;AAGO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,WAAW,MAAM,KAAK;AAC/B;AAGO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,WAAW,KAAK,KAAK;AAC9B;AAMO,SAAS,yBACd,MACA;AA/CF;AAgDE,QAAM,WAAW,CAAC,KAAK,SAAS,GAAG,KAAK,SAAS,GAAG,KAAK,SAAS,CAAC;AACnE,QAAM,cAAc;AAAA,KAClB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,KACvB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,KACvB,gBAAK,gBAAL,mBAAkB,MAAlB,YAAuB;AAAA,EACzB;AAEA,QAAM,iBAAiB,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEvD,QAAM,iBAAiB,YAAY,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAE1D,SAAO,IAAI,eAAe,OAAO,cAAc,EAAE,KAAK,IAAI,CAAC;AAC7D;AAMO,SAAS,uBACd,kBACA,mBACA;AACA,MAAI,CAAC,iBAAkB,oBAAmB;AAC1C,MAAI,CAAC,kBAAmB,qBAAoB;AAE5C,SAAO,qBAAqB;AAC9B;;;AC1EA,mBAA2B;AAGpB,SAAS,MAAM,IAAY;AAChC,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAKO,SAAS,sBAAsB,KAAc;AAClD,SAAO,iBAAiB,GAAG;AAC7B;AAUO,SAAS,iBAAiB,KAAsB;AAtBvD;AAuBE,MAAI,eAAe,yBAAY;AAC7B,QAAI,IAAI,UAAU;AAChB,aAAO,IAAG,SAAI,aAAJ,mBAAc,MAAM,KAAI,SAAI,aAAJ,mBAAc,UAAU,WAAS,eAAI,aAAJ,mBAAc,OAAO,WAArB,mBAA6B,kBAAiB,WAAW,KAAI,SAAI,aAAJ,mBAAc,OAAO,GAAG,KAAK,KAAK,WAAU,SAAI,aAAJ,mBAAc,IAAI,CAAC;AAAA,IACjM,WAAW,IAAI,QAAQ;AACrB,UAAI,IAAI,SAAS,eAAe;AAC9B,eAAO,GAAG,IAAI,OAAO,WAAS,SAAI,OAAO,WAAX,mBAAmB,kBAAiB,WAAW,IAAI,IAAI,OAAO,GAAG;AAAA,MACjG,OAAO;AACL,eAAO,GAAG,IAAI,OAAO,WAAS,SAAI,OAAO,WAAX,mBAAmB,kBAAiB,WAAW,IAAI,IAAI,OAAO,GAAG;AAAA,MACjG;AAAA,IACF;AAAA,EACF,WAAW,eAAe,OAAO;AAC/B,WAAO,IAAI;AAAA,EACb,WAAW,OAAO,QAAQ,UAAU;AAClC,WAAO;AAAA,EACT,WAAW,OAAO,QAAQ,UAAU;AAClC,WAAO,iBAAiB,GAAG,KAAK,yBAAyB,GAAG;AAAA,EAC9D;AAEA,SAAO,GAAG,GAAG;AACf;;;AC1CA,IAAM,gBAAgB;AAQtB,IAAM,iBAAiB;AAAA,EACrB,KAAK;AAAA,IACH,QAAQ,2BAA2B,aAAa;AAAA,IAChD,UAAU;AAAA,EACZ;AAAA,EACA,KAAK;AAAA,IACH,QAAQ,2BAA2B,aAAa;AAAA,IAChD,UAAU;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,uBAAuB,aAAa;AAAA,IAC5C,UAAU;AAAA,EACZ;AACF;AAGA,IAAM,iBAAiB,CAAC,gBAAwB;AAC9C,MAAI,YAAY,SAAS,OAAO,aAAa,EAAE,EAAG,QAAO,eAAe;AACxE,MAAI,YAAY,SAAS,OAAO,aAAa,EAAE,EAAG,QAAO,eAAe;AACxE,MAAI,YAAY,SAAS,aAAa,EAAG,QAAO,eAAe;AAC/D,QAAM,IAAI;AAAA,IACR;AAAA,EACF;AACF;AAOO,IAAM,iBAAiB,CAC5B,gBAC2B;AAxC7B;AAyCE,MAAI,OAAO,WAAW,aAAa;AACjC,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,cAAc,eAAe,WAAW;AAE9C,MAAI,IAAI,IAAI,WAAW,EAAE,WAAW,OAAO,SAAS,QAAQ;AAI1D,WAAO,SAAS,OAAO;AACvB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAKA,QAAM,EAAE,YAAY,IAAI,MAAM,OAAO,qBAAqB;AAE1D,QAAM,cAAc,IAAI,YAAY;AAAA,IAClC,QAAQ,YAAY;AAAA,IACpB,WAAU,iBAAY,aAAZ,YAAwB;AAAA,IAClC,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,MACnB,UAAU;AAAA,MACV,cAAc,OAAO,SAAS;AAAA,IAChC;AAAA,EACF,CAAC;AAGD,MACE,OAAO,SAAS,OAAO,SAAS,OAAO,KACvC,OAAO,SAAS,OAAO,SAAS,QAAQ,GACxC;AACA,UAAM,EAAE,SAAS,IAAI,MAAM,YAAY,uBAAuB;AAE9D,WAAO,QAAQ;AAAA,MACb,CAAC;AAAA,MACD,SAAS;AAAA,OACT,qCAAU,aAAY,OAAO,SAAS;AAAA,IACxC;AAAA,EACF,OAAO;AAEL,UAAM,YAAY,kBAAkB;AAAA,EACtC;AAGA,QAAM,cAAc,MAAM,YAAY,iBAAiB;AACvD,SAAO;AACT;","names":["ReconnectingWebSocket"]}
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
|
-
baseGetTag_default,
|
|
3
2
|
degreesToRadians,
|
|
4
|
-
isArray_default,
|
|
5
|
-
isObjectLike_default,
|
|
6
|
-
isObject_default,
|
|
7
3
|
isSameCoordinateSystem,
|
|
8
4
|
makeUrlQueryString,
|
|
9
5
|
poseToWandelscriptString,
|
|
10
6
|
radiansToDegrees,
|
|
11
7
|
tryParseJson,
|
|
12
8
|
tryStringifyJson
|
|
13
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-B2C22PTK.js";
|
|
14
10
|
import {
|
|
15
11
|
AutoReconnectingWebsocket,
|
|
16
12
|
availableStorage,
|
|
17
13
|
loginWithAuth0
|
|
18
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-I3PUV6ZD.js";
|
|
19
15
|
|
|
20
16
|
// src/lib/errorHandling.ts
|
|
21
17
|
import { AxiosError } from "axios";
|
|
22
|
-
|
|
23
|
-
// node_modules/lodash-es/isString.js
|
|
24
|
-
var stringTag = "[object String]";
|
|
25
|
-
function isString(value) {
|
|
26
|
-
return typeof value == "string" || !isArray_default(value) && isObjectLike_default(value) && baseGetTag_default(value) == stringTag;
|
|
27
|
-
}
|
|
28
|
-
var isString_default = isString;
|
|
29
|
-
|
|
30
|
-
// src/lib/errorHandling.ts
|
|
31
18
|
function delay(ms) {
|
|
32
19
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
33
20
|
}
|
|
@@ -48,9 +35,9 @@ function makeErrorMessage(err) {
|
|
|
48
35
|
}
|
|
49
36
|
} else if (err instanceof Error) {
|
|
50
37
|
return err.message;
|
|
51
|
-
} else if (
|
|
38
|
+
} else if (typeof err === "string") {
|
|
52
39
|
return err;
|
|
53
|
-
} else if (
|
|
40
|
+
} else if (typeof err === "object") {
|
|
54
41
|
return tryStringifyJson(err) || `Unserializable object ${err}`;
|
|
55
42
|
}
|
|
56
43
|
return `${err}`;
|
|
@@ -70,17 +57,4 @@ export {
|
|
|
70
57
|
tryParseJson,
|
|
71
58
|
tryStringifyJson
|
|
72
59
|
};
|
|
73
|
-
/*! Bundled license information:
|
|
74
|
-
|
|
75
|
-
lodash-es/lodash.js:
|
|
76
|
-
(**
|
|
77
|
-
* @license
|
|
78
|
-
* Lodash (Custom Build) <https://lodash.com/>
|
|
79
|
-
* Build: `lodash modularize exports="es" -o ./`
|
|
80
|
-
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
81
|
-
* Released under MIT license <https://lodash.com/license>
|
|
82
|
-
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
83
|
-
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
84
|
-
*)
|
|
85
|
-
*/
|
|
86
60
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/errorHandling.ts"
|
|
1
|
+
{"version":3,"sources":["../src/lib/errorHandling.ts"],"sourcesContent":["import { AxiosError } from \"axios\"\nimport { tryStringifyJson } from \"./converters\"\n\nexport function delay(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n/**\n * @deprecated Use makeErrorMessage instead and truncate the error for display as needed, or make a situation-specific localized error message based on a response code\n */\nexport function makeShortErrorMessage(err: unknown) {\n return makeErrorMessage(err)\n}\n\n/**\n * Attempts to make a helpful error message from an unknown thrown error\n * or promise rejection.\n *\n * This function is mainly to aid debugging and good bug reports. For\n * expected errors encountered by end users, it's more ideal to catch\n * the specific error code and provide a localized app-specific error message.\n */\nexport function makeErrorMessage(err: unknown): string {\n if (err instanceof AxiosError) {\n if (err.response) {\n return `${err.response?.status} ${err.response?.statusText} from ${err.response?.config.method?.toUpperCase() || \"accessing\"} ${err.response?.config.url}: ${JSON.stringify(err.response?.data)}`\n } else if (err.config) {\n if (err.code === \"ERR_NETWORK\") {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}. This error can happen because of either connection issues or server CORS policy.`\n } else {\n return `${err.message} from ${err.config.method?.toUpperCase() || \"accessing\"} ${err.config.url}`\n }\n }\n } else if (err instanceof Error) {\n return err.message\n } else if (typeof err === \"string\") {\n return err\n } else if (typeof err === \"object\") {\n return tryStringifyJson(err) || `Unserializable object ${err}`\n }\n\n return `${err}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAAS,kBAAkB;AAGpB,SAAS,MAAM,IAAY;AAChC,SAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AACzD;AAKO,SAAS,sBAAsB,KAAc;AAClD,SAAO,iBAAiB,GAAG;AAC7B;AAUO,SAAS,iBAAiB,KAAsB;AAtBvD;AAuBE,MAAI,eAAe,YAAY;AAC7B,QAAI,IAAI,UAAU;AAChB,aAAO,IAAG,SAAI,aAAJ,mBAAc,MAAM,KAAI,SAAI,aAAJ,mBAAc,UAAU,WAAS,eAAI,aAAJ,mBAAc,OAAO,WAArB,mBAA6B,kBAAiB,WAAW,KAAI,SAAI,aAAJ,mBAAc,OAAO,GAAG,KAAK,KAAK,WAAU,SAAI,aAAJ,mBAAc,IAAI,CAAC;AAAA,IACjM,WAAW,IAAI,QAAQ;AACrB,UAAI,IAAI,SAAS,eAAe;AAC9B,eAAO,GAAG,IAAI,OAAO,WAAS,SAAI,OAAO,WAAX,mBAAmB,kBAAiB,WAAW,IAAI,IAAI,OAAO,GAAG;AAAA,MACjG,OAAO;AACL,eAAO,GAAG,IAAI,OAAO,WAAS,SAAI,OAAO,WAAX,mBAAmB,kBAAiB,WAAW,IAAI,IAAI,OAAO,GAAG;AAAA,MACjG;AAAA,IACF;AAAA,EACF,WAAW,eAAe,OAAO;AAC/B,WAAO,IAAI;AAAA,EACb,WAAW,OAAO,QAAQ,UAAU;AAClC,WAAO;AAAA,EACT,WAAW,OAAO,QAAQ,UAAU;AAClC,WAAO,iBAAiB,GAAG,KAAK,yBAAyB,GAAG;AAAA,EAC9D;AAEA,SAAO,GAAG,GAAG;AACf;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ReconnectingWebSocket from "reconnecting-websocket";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import type * as v1 from "./v1/mock/MockNovaInstance";
|
|
3
|
+
import type * as v2 from "./v2/mock/MockNovaInstance";
|
|
4
4
|
export declare class AutoReconnectingWebsocket extends ReconnectingWebSocket {
|
|
5
5
|
readonly opts: {
|
|
6
6
|
mock?: v1.MockNovaInstance | v2.MockNovaInstance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoReconnectingWebsocket.d.ts","sourceRoot":"","sources":["../../src/lib/AutoReconnectingWebsocket.ts"],"names":[],"mappings":"AAAA,OAAO,qBAA0C,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"AutoReconnectingWebsocket.d.ts","sourceRoot":"","sources":["../../src/lib/AutoReconnectingWebsocket.ts"],"names":[],"mappings":"AAAA,OAAO,qBAA0C,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAA;AACrD,OAAO,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAErD,qBAAa,yBAA0B,SAAQ,qBAAqB;IAOhE,QAAQ,CAAC,IAAI,EAAE;QACb,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAA;QAChD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;KACvB;IATH,oBAAoB,CAAC,EAAE,YAAY,CAAA;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,UAAQ;gBAGd,SAAS,EAAE,MAAM,EACR,IAAI,GAAE;QACb,IAAI,CAAC,EAAE,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,gBAAgB,CAAA;QAChD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;KAClB;IA2CR,SAAS,CAAC,SAAS,EAAE,MAAM;IAM3B,QAAQ,CAAC,IAAI,EAAE,OAAO;IAQtB;;;QAGI;IACJ,OAAO;IAQP;;+BAE2B;IACrB,MAAM;IAWZ;;iCAE6B;IACvB,MAAM;IAWZ;;;;OAIG;IACG,YAAY;IAwBlB;;;OAGG;IACG,WAAW;CAkBlB"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
declare class AvailableStorage {
|
|
6
6
|
available: boolean;
|
|
7
7
|
getJSON<T>(key: string): Partial<T> | null;
|
|
8
|
-
setJSON(key: string, obj:
|
|
8
|
+
setJSON(key: string, obj: unknown): null | undefined;
|
|
9
9
|
delete(key: string): null | undefined;
|
|
10
10
|
setString(key: string, value: string): null | undefined;
|
|
11
11
|
getString(key: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"availableStorage.d.ts","sourceRoot":"","sources":["../../src/lib/availableStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAM,gBAAgB;IACpB,SAAS,UAAyD;IAElE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAa1C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"availableStorage.d.ts","sourceRoot":"","sources":["../../src/lib/availableStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAM,gBAAgB;IACpB,SAAS,UAAyD;IAElE,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAa1C,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAMjC,MAAM,CAAC,GAAG,EAAE,MAAM;IAMlB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAMpC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAKtC;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/lib/converters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAEnD,mEAAmE;
|
|
1
|
+
{"version":3,"file":"converters.d.ts","sourceRoot":"","sources":["../../src/lib/converters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAEnD,mEAAmE;AAEnE,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAM/C;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAGtE;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAAC,UAc7C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,iBAAiB,EAAE,MAAM,GAAG,SAAS,WAMtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/lib/errorHandling.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/lib/errorHandling.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,UAEjD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAoBrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectedMotionGroup.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/ConnectedMotionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,QAAQ,EACR,oBAAoB,EAGpB,QAAQ,EACR,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAG7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,mBAAmB,CAAA;AAEvB;;GAEG;AACH,qBAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"ConnectedMotionGroup.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/ConnectedMotionGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,QAAQ,EACR,oBAAoB,EAGpB,QAAQ,EACR,WAAW,EACZ,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAG7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,mBAAmB,CAAA;AAEvB;;GAEG;AACH,qBAAa,oBAAoB;IAoI7B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,kBAAkB;IACvC,QAAQ,CAAC,WAAW,EAAE,mBAAmB;IACzC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB;IACrD,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB;IACrD,QAAQ,CAAC,SAAS,EAAE,OAAO;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE;IACzB,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB;IAC3D,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAClC,QAAQ,CAAC,sBAAsB,EAAE,oBAAoB;IACrD,QAAQ,CAAC,qBAAqB,EAAE,yBAAyB;WA9I9C,OAAO,CAClB,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,kBAAkB,EAAE;IA0GnC,+BAA+B,EAAE,SAAS,GAAG,IAAI,CAAO;IACxD,4BAA4B,EAAE,SAAS,GAAG,IAAI,CAAO;IAErD,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAA;IACpB,eAAe,EAAE,MAAM,CAAK;IAI5B,0BAA0B,EAAE,wBAAwB,CAAA;IAIpD,eAAe,EAAE,oBAAoB,CAAA;IAErC;;;OAGG;IACH,eAAe,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAC1D;gBAGD,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,mBAAmB,EAChC,kBAAkB,EAAE,wBAAwB,EAC5C,iBAAiB,EAAE,yBAAyB,EAC5C,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,QAAQ,EAAE,EAChB,wBAAwB,EAAE,wBAAwB,EAClD,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,sBAAsB,EAAE,oBAAoB,EAC5C,qBAAqB,EAAE,yBAAyB;IA2D3D,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,mBAAmB,uBAEtB;IAED,IAAI,sBAAsB,WAGzB;IAED,kEAAkE;IAClE,IAAI,mBAAmB,WAEtB;IAED,IAAI,MAAM;;QAMT;IAED,IAAI,YAAY,gEAEf;IAED,IAAI,WAAW,0EAEd;IAED,oEAAoE;IACpE,IAAI,gBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAU/C;IAED,sEAAsE;IACtE,IAAI,kBAAkB,qBAWrB;IAED;;;OAGG;IACH,IAAI,aAAa,YAOhB;IAED;;;OAGG;IACH,IAAI,qBAAqB,YAOxB;IAED;;OAEG;IACH,IAAI,uBAAuB,YAS1B;IAED;;;OAGG;IACH,IAAI,UAAU,YAMb;IAEK,UAAU;IA2BV,QAAQ;IA2Bd,gBAAgB;IAQhB,OAAO;IAQP,kBAAkB,CAAC,QAAQ,EAAE,MAAM;CAGpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JoggerConnection.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/JoggerConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"JoggerConnection.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/JoggerConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** biome-ignore-all lint/style/noNonNullAssertion: legacy code */
|
|
1
2
|
import type { ControllerInstance, MotionGroupPhysical, MotionGroupStateResponse } from "@wandelbots/nova-api/v1";
|
|
2
3
|
import type { AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket";
|
|
3
4
|
import type { NovaClient } from "./NovaClient";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MotionStreamConnection.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/MotionStreamConnection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EAEzB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAG7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA2C9C;;GAEG;AACH,qBAAa,sBAAsB;IAsD/B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,kBAAkB;IACvC,QAAQ,CAAC,WAAW,EAAE,mBAAmB;IACzC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB;IACrD,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB;WAzD1C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAkDzD,0BAA0B,EAAE,wBAAwB,CAAA;gBAGzC,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,mBAAmB,EAChC,kBAAkB,EAAE,wBAAwB,EAC5C,iBAAiB,EAAE,yBAAyB;IA0DvD,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,mBAAmB,uBAEtB;IAED,IAAI,sBAAsB,WAGzB;IAED,IAAI,MAAM;;QAMT;IAED,OAAO;CAGR"}
|
|
1
|
+
{"version":3,"file":"MotionStreamConnection.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/MotionStreamConnection.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EAEzB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAG7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA2C9C;;GAEG;AACH,qBAAa,sBAAsB;IAsD/B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,kBAAkB;IACvC,QAAQ,CAAC,WAAW,EAAE,mBAAmB;IACzC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB;IACrD,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB;WAzD1C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;IAkDzD,0BAA0B,EAAE,wBAAwB,CAAA;gBAGzC,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,kBAAkB,EAC9B,WAAW,EAAE,mBAAmB,EAChC,kBAAkB,EAAE,wBAAwB,EAC5C,iBAAiB,EAAE,yBAAyB;IA0DvD,IAAI,aAAa,WAEhB;IAED,IAAI,YAAY,WAEf;IAED,IAAI,mBAAmB,uBAEtB;IAED,IAAI,sBAAsB,WAGzB;IAED,IAAI,MAAM;;QAMT;IAED,OAAO;CAGR"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** biome-ignore-all lint/style/noNonNullAssertion: legacy code */
|
|
2
|
+
/** biome-ignore-all lint/suspicious/noExplicitAny: legacy code */
|
|
1
3
|
import type { Configuration as BaseConfiguration } from "@wandelbots/nova-api/v1";
|
|
2
4
|
import { ApplicationApi, CellApi, ControllerApi, ControllerIOsApi, CoordinateSystemsApi, DeviceConfigurationApi, LibraryProgramApi, LibraryProgramMetadataApi, LibraryRecipeApi, LibraryRecipeMetadataApi, MotionApi, MotionGroupApi, MotionGroupInfosApi, MotionGroupJoggingApi, MotionGroupKinematicApi, ProgramApi, ProgramValuesApi, StoreCollisionComponentsApi, StoreCollisionScenesApi, StoreObjectApi, SystemApi, VirtualRobotApi, VirtualRobotBehaviorApi, VirtualRobotModeApi, VirtualRobotSetupApi } from "@wandelbots/nova-api/v1";
|
|
3
5
|
import type { AxiosInstance } from "axios";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NovaCellAPIClient.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/NovaCellAPIClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NovaCellAPIClient.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/NovaCellAPIClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NovaClient.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/NovaClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAKjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAA;IAEhD;;;QAGI;IACJ,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,UAAU,CAAC,CAAA;AAEtD,KAAK,4BAA4B,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzE;;GAEG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAChC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;gBAErB,MAAM,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"NovaClient.d.ts","sourceRoot":"","sources":["../../../src/lib/v1/NovaClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAKjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,0BAA0B,CAAA;IAEhD;;;QAGI;IACJ,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,UAAU,CAAC,CAAA;AAEtD,KAAK,4BAA4B,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzE;;GAEG;AACH,qBAAa,UAAU;IACrB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAA;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAChC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO;IACjD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAO;gBAErB,MAAM,EAAE,gBAAgB;IAkG9B,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB1C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAwBtC;;;;OAIG;IACH,yBAAyB,CAAC,IAAI,EAAE,MAAM;IAMtC;;OAEG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM;IAI/C;;OAEG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM;IAInC,mBAAmB,CACvB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAU5B,kBAAkB,CACtB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC;CAKjC"}
|