@wandelbots/wandelbots-js-react-components 4.0.2 → 4.0.3

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.
@@ -1,13 +1,14 @@
1
- import { e as we, j as g } from "./externalizeComponent-Dc3fViZA.js";
2
- import { useTheme as Ae, Box as ce, Button as ke, Typography as Re, Chip as qe } from "@mui/material";
3
- import { observer as Ue } from "mobx-react-lite";
4
- import { useTranslation as Te } from "react-i18next";
5
- import { PlayArrow as Se, Stop as be, Pause as De } from "@mui/icons-material";
6
- import m, { isAxiosError as Qe, AxiosError as He } from "axios";
7
- import ie from "react";
1
+ import { e as Ae, j as g } from "./externalizeComponent-Dc3fViZA.js";
2
+ import { useTheme as Re, Box as ce, Button as qe, Typography as Ue, Chip as De } from "@mui/material";
3
+ import { observer as Te } from "mobx-react-lite";
4
+ import { useTranslation as _e } from "react-i18next";
5
+ import { PlayArrow as be, Stop as ye, Pause as Qe } from "@mui/icons-material";
6
+ import m, { isAxiosError as He, AxiosError as Ne } from "axios";
7
+ import { reaction as Ke, autorun as $e } from "mobx";
8
+ import ie, { useEffect as Je } from "react";
8
9
  var J = /* @__PURE__ */ ((e) => (e.IDLE = "idle", e.PREPARING = "preparing", e.STARTING = "starting", e.RUNNING = "running", e.PAUSING = "pausing", e.PAUSED = "paused", e.STOPPING = "stopping", e.COMPLETED = "completed", e.FAILED = "failed", e.STOPPED = "stopped", e.ERROR = "error", e))(J || {});
9
- const or = we(
10
- Ue(
10
+ const dr = Ae(
11
+ Te(
11
12
  ({
12
13
  state: e,
13
14
  onRun: t,
@@ -18,7 +19,7 @@ const or = we(
18
19
  variant: a = "with_pause",
19
20
  className: l
20
21
  }) => {
21
- const c = Ae(), { t: i } = Te(), p = () => {
22
+ const c = Re(), { t: i } = _e(), p = () => {
22
23
  const v = {
23
24
  run: {
24
25
  enabled: e === "idle" || e === "stopped" || e === "paused" || e === "completed" || e === "failed" || e === "error",
@@ -44,14 +45,14 @@ const or = we(
44
45
  }, d = (v) => {
45
46
  const E = { sx: { fontSize: "55px" } };
46
47
  if (a === "without_pause")
47
- return v === 0 ? /* @__PURE__ */ g.jsx(Se, { ...E }) : /* @__PURE__ */ g.jsx(be, { ...E });
48
+ return v === 0 ? /* @__PURE__ */ g.jsx(be, { ...E }) : /* @__PURE__ */ g.jsx(ye, { ...E });
48
49
  switch (v) {
49
50
  case 0:
50
- return /* @__PURE__ */ g.jsx(Se, { ...E });
51
+ return /* @__PURE__ */ g.jsx(be, { ...E });
51
52
  case 1:
52
- return /* @__PURE__ */ g.jsx(De, { ...E });
53
+ return /* @__PURE__ */ g.jsx(Qe, { ...E });
53
54
  case 2:
54
- return /* @__PURE__ */ g.jsx(be, { ...E });
55
+ return /* @__PURE__ */ g.jsx(ye, { ...E });
55
56
  default:
56
57
  return null;
57
58
  }
@@ -87,7 +88,7 @@ const or = we(
87
88
  },
88
89
  children: [
89
90
  /* @__PURE__ */ g.jsx(
90
- ke,
91
+ qe,
91
92
  {
92
93
  variant: "contained",
93
94
  disabled: !v.enabled || e === "preparing" || e === "starting" || e === "pausing" || e === "stopping" && !n,
@@ -113,7 +114,7 @@ const or = we(
113
114
  }
114
115
  ),
115
116
  /* @__PURE__ */ g.jsx(
116
- Re,
117
+ Ue,
117
118
  {
118
119
  variant: "body1",
119
120
  sx: {
@@ -134,15 +135,15 @@ const or = we(
134
135
  );
135
136
  }
136
137
  )
137
- ), nr = we(
138
- Ue(
138
+ ), hr = Ae(
139
+ Te(
139
140
  ({
140
141
  programState: e,
141
142
  safetyState: t,
142
143
  operationMode: r,
143
144
  className: s
144
145
  }) => {
145
- const o = Ae(), { t: n } = Te(), a = () => {
146
+ const o = Re(), { t: n } = _e(), a = () => {
146
147
  if (t === "SAFETY_STATE_DEVICE_EMERGENCY_STOP" || t === "SAFETY_STATE_ROBOT_EMERGENCY_STOP" || t === "SAFETY_STATE_STOP_0" || t === "SAFETY_STATE_STOP_1" || t === "SAFETY_STATE_STOP_2" || t === "SAFETY_STATE_PROTECTIVE_STOP" || t === "SAFETY_STATE_STOP" || t === "SAFETY_STATE_REDUCED" || t === "SAFETY_STATE_MASTERING" || t === "SAFETY_STATE_CONFIRM_SAFETY" || t === "SAFETY_STATE_OPERATOR_SAFETY" || t === "SAFETY_STATE_RECOVERY" || t === "SAFETY_STATE_VIOLATION")
147
148
  return {
148
149
  label: n("ProgramStateIndicator.EStop.lb"),
@@ -231,11 +232,11 @@ const or = we(
231
232
  }
232
233
  })()}`;
233
234
  return /* @__PURE__ */ g.jsx(
234
- qe,
235
+ De,
235
236
  {
236
237
  className: s,
237
238
  label: /* @__PURE__ */ g.jsx(
238
- Re,
239
+ Ue,
239
240
  {
240
241
  variant: "body2",
241
242
  sx: {
@@ -283,14 +284,14 @@ var me = function(e, t) {
283
284
  for (var o in s) s.hasOwnProperty(o) && (r[o] = s[o]);
284
285
  }, me(e, t);
285
286
  };
286
- function _e(e, t) {
287
+ function je(e, t) {
287
288
  me(e, t);
288
289
  function r() {
289
290
  this.constructor = e;
290
291
  }
291
292
  e.prototype = t === null ? Object.create(t) : (r.prototype = t.prototype, new r());
292
293
  }
293
- function Ne(e) {
294
+ function ge(e) {
294
295
  var t = typeof Symbol == "function" && e[Symbol.iterator], r = 0;
295
296
  return t ? t.call(e) : {
296
297
  next: function() {
@@ -298,7 +299,7 @@ function Ne(e) {
298
299
  }
299
300
  };
300
301
  }
301
- function Ke(e, t) {
302
+ function We(e, t) {
302
303
  var r = typeof Symbol == "function" && e[Symbol.iterator];
303
304
  if (!r) return e;
304
305
  var s = r.call(e), o, n = [], a;
@@ -315,12 +316,12 @@ function Ke(e, t) {
315
316
  }
316
317
  return n;
317
318
  }
318
- function $e() {
319
+ function Ye() {
319
320
  for (var e = [], t = 0; t < arguments.length; t++)
320
- e = e.concat(Ke(arguments[t]));
321
+ e = e.concat(We(arguments[t]));
321
322
  return e;
322
323
  }
323
- var je = (
324
+ var Ee = (
324
325
  /** @class */
325
326
  /* @__PURE__ */ (function() {
326
327
  function e(t, r) {
@@ -328,27 +329,27 @@ var je = (
328
329
  }
329
330
  return e;
330
331
  })()
331
- ), Je = (
332
+ ), ze = (
332
333
  /** @class */
333
334
  (function(e) {
334
- _e(t, e);
335
+ je(t, e);
335
336
  function t(r, s) {
336
337
  var o = e.call(this, "error", s) || this;
337
338
  return o.message = r.message, o.error = r, o;
338
339
  }
339
340
  return t;
340
- })(je)
341
- ), ge = (
341
+ })(Ee)
342
+ ), Xe = (
342
343
  /** @class */
343
344
  (function(e) {
344
- _e(t, e);
345
+ je(t, e);
345
346
  function t(r, s, o) {
346
347
  r === void 0 && (r = 1e3), s === void 0 && (s = "");
347
348
  var n = e.call(this, "close", o) || this;
348
349
  return n.wasClean = !0, n.code = r, n.reason = s, n;
349
350
  }
350
351
  return t;
351
- })(je)
352
+ })(Ee)
352
353
  );
353
354
  /*!
354
355
  * Reconnecting WebSocket
@@ -356,10 +357,10 @@ var je = (
356
357
  * https://github.com/pladaria/reconnecting-websocket
357
358
  * License MIT
358
359
  */
359
- var We = function() {
360
+ var Ze = function() {
360
361
  if (typeof WebSocket < "u")
361
362
  return WebSocket;
362
- }, Ye = function(e) {
363
+ }, fe = function(e) {
363
364
  return typeof e < "u" && !!e && e.CLOSING === 2;
364
365
  }, z = {
365
366
  maxReconnectionDelay: 1e4,
@@ -369,7 +370,7 @@ var We = function() {
369
370
  connectionTimeout: 4e3,
370
371
  maxRetries: 1 / 0,
371
372
  maxEnqueuedMessages: 1 / 0
372
- }, ze = (
373
+ }, et = (
373
374
  /** @class */
374
375
  (function() {
375
376
  function e(t, r, s) {
@@ -548,7 +549,7 @@ var We = function() {
548
549
  var r, s, o = this._listeners[t.type];
549
550
  if (o)
550
551
  try {
551
- for (var n = Ne(o), a = n.next(); !a.done; a = n.next()) {
552
+ for (var n = ge(o), a = n.next(); !a.done; a = n.next()) {
552
553
  var l = a.value;
553
554
  this._callEventListener(t, l);
554
555
  }
@@ -569,7 +570,7 @@ var We = function() {
569
570
  }, e.prototype._debug = function() {
570
571
  for (var t = [], r = 0; r < arguments.length; r++)
571
572
  t[r] = arguments[r];
572
- this._options.debug && console.log.apply(console, $e(["RWS>"], t));
573
+ this._options.debug && console.log.apply(console, Ye(["RWS>"], t));
573
574
  }, e.prototype._getNextDelay = function() {
574
575
  var t = this._options, r = t.reconnectionDelayGrowFactor, s = r === void 0 ? z.reconnectionDelayGrowFactor : r, o = t.minReconnectionDelay, n = o === void 0 ? z.minReconnectionDelay : o, a = t.maxReconnectionDelay, l = a === void 0 ? z.maxReconnectionDelay : a, c = 0;
575
576
  return this._retryCount > 0 && (c = n * Math.pow(s, this._retryCount - 1), c > l && (c = l)), this._debug("next delay", c), c;
@@ -593,12 +594,12 @@ var We = function() {
593
594
  var t = this;
594
595
  if (!(this._connectLock || !this._shouldReconnect)) {
595
596
  this._connectLock = !0;
596
- var r = this._options, s = r.maxRetries, o = s === void 0 ? z.maxRetries : s, n = r.connectionTimeout, a = n === void 0 ? z.connectionTimeout : n, l = r.WebSocket, c = l === void 0 ? We() : l;
597
+ var r = this._options, s = r.maxRetries, o = s === void 0 ? z.maxRetries : s, n = r.connectionTimeout, a = n === void 0 ? z.connectionTimeout : n, l = r.WebSocket, c = l === void 0 ? Ze() : l;
597
598
  if (this._retryCount >= o) {
598
599
  this._debug("max retries reached", this._retryCount, ">=", o);
599
600
  return;
600
601
  }
601
- if (this._retryCount++, this._debug("connect", this._retryCount), this._removeListeners(), !Ye(c))
602
+ if (this._retryCount++, this._debug("connect", this._retryCount), this._removeListeners(), !fe(c))
602
603
  throw Error("No valid WebSocket class provided");
603
604
  this._wait().then(function() {
604
605
  return t._getNextUrl(t._url);
@@ -609,12 +610,12 @@ var We = function() {
609
610
  });
610
611
  }
611
612
  }, e.prototype._handleTimeout = function() {
612
- this._debug("timeout event"), this._handleError(new Je(Error("TIMEOUT"), this));
613
+ this._debug("timeout event"), this._handleError(new ze(Error("TIMEOUT"), this));
613
614
  }, e.prototype._disconnect = function(t, r) {
614
615
  if (t === void 0 && (t = 1e3), this._clearTimeouts(), !!this._ws) {
615
616
  this._removeListeners();
616
617
  try {
617
- this._ws.close(t, r), this._handleClose(new ge(t, r, this));
618
+ this._ws.close(t, r), this._handleClose(new Xe(t, r, this));
618
619
  } catch {
619
620
  }
620
621
  }
@@ -630,7 +631,7 @@ var We = function() {
630
631
  clearTimeout(this._connectTimeout), clearTimeout(this._uptimeTimeout);
631
632
  }, e;
632
633
  })()
633
- ), Xe = class extends ze {
634
+ ), tt = class extends et {
634
635
  constructor(e, t = {}) {
635
636
  console.log("Opening websocket to", e), super(() => this.targetUrl || e, void 0, { startClosed: !0 }), this.opts = t, this.disposed = !1, Object.defineProperty(this, "url", { get() {
636
637
  return this.targetUrl;
@@ -704,7 +705,7 @@ var We = function() {
704
705
  this.addEventListener("message", r), this.addEventListener("error", s);
705
706
  });
706
707
  }
707
- }, Ze = class {
708
+ }, rt = class {
708
709
  constructor() {
709
710
  this.available = typeof window < "u" && !!window.localStorage;
710
711
  }
@@ -734,21 +735,21 @@ var We = function() {
734
735
  return this.available ? window.localStorage.getItem(e) : null;
735
736
  }
736
737
  };
737
- const oe = new Ze();
738
+ const oe = new rt();
738
739
  function Oe(e, t = {}) {
739
740
  const { scheme: r, defaultScheme: s } = t, o = /^[a-zA-Z]+:\/\//;
740
741
  return r ? (e = e.replace(o, ""), e = `${r}://${e}`) : s && !o.test(e) && (e = `${s}://${e}`), new URL(e);
741
742
  }
742
- function fe(e, t = {}) {
743
+ function st(e, t = {}) {
743
744
  try {
744
745
  return Oe(e, t);
745
746
  } catch {
746
747
  return;
747
748
  }
748
749
  }
749
- function et(e) {
750
+ function at(e) {
750
751
  var t;
751
- return (t = fe(e, { defaultScheme: "http" })) != null && t.host.endsWith(".wandelbots.io") ? Oe(e, { defaultScheme: "https" }) : Oe(e, { defaultScheme: "http" });
752
+ return (t = st(e, { defaultScheme: "http" })) != null && t.host.endsWith(".wandelbots.io") ? Oe(e, { defaultScheme: "https" }) : Oe(e, { defaultScheme: "http" });
752
753
  }
753
754
  const pe = {
754
755
  dev: {
@@ -763,16 +764,16 @@ const pe = {
763
764
  domain: "https://auth.portal.wandelbots.io",
764
765
  clientId: "J7WJUi38xVQdJAEBNRT9Xw1b0fXDb4J2"
765
766
  }
766
- }, tt = (e) => {
767
+ }, lt = (e) => {
767
768
  if (e.host.endsWith(".dev.wandelbots.io")) return pe.dev;
768
769
  if (e.host.endsWith(".stg.wandelbots.io")) return pe.stg;
769
770
  if (e.host.endsWith(".wandelbots.io")) return pe.prod;
770
771
  throw new Error(`Unable to authenticate with NOVA instance "${e}". Auth0 login is only supported for cloud instances with hosts of the form "**.wandelbots.io".`);
771
- }, rt = async (e) => {
772
+ }, ot = async (e) => {
772
773
  if (typeof window > "u") throw new Error("Access token must be set to use NovaClient when not in a browser environment.");
773
774
  if (e.origin === window.location.origin)
774
775
  throw window.location.reload(), new Error("Failed to reload page to get auth details, please refresh manually");
775
- const { Auth0Client: t } = await import("./auth0-spa-js.production.esm-BMSlxZC5.js"), r = tt(e), s = new t({
776
+ const { Auth0Client: t } = await import("./auth0-spa-js.production.esm-BMSlxZC5.js"), r = lt(e), s = new t({
776
777
  domain: r.domain,
777
778
  clientId: r.clientId ?? "",
778
779
  useRefreshTokens: !1,
@@ -787,7 +788,7 @@ const pe = {
787
788
  } else await s.loginWithRedirect();
788
789
  return await s.getTokenSilently();
789
790
  };
790
- function st(e) {
791
+ function nt(e) {
791
792
  var t = [];
792
793
  if (e.length === 0)
793
794
  return "";
@@ -811,12 +812,12 @@ function st(e) {
811
812
  }
812
813
  function de() {
813
814
  var e;
814
- return typeof arguments[0] == "object" ? e = arguments[0] : e = [].slice.call(arguments), st(e);
815
+ return typeof arguments[0] == "object" ? e = arguments[0] : e = [].slice.call(arguments), nt(e);
815
816
  }
816
- var K = {}, ye;
817
- function at() {
818
- if (ye) return K;
819
- ye = 1, Object.defineProperty(K, "__esModule", { value: !0 }), K.PathError = K.TokenData = void 0, K.parse = i, K.compile = p, K.match = v, K.pathToRegexp = E, K.stringify = Me;
817
+ var K = {}, Pe;
818
+ function ct() {
819
+ if (Pe) return K;
820
+ Pe = 1, Object.defineProperty(K, "__esModule", { value: !0 }), K.PathError = K.TokenData = void 0, K.parse = i, K.compile = p, K.match = v, K.pathToRegexp = E, K.stringify = Le;
820
821
  const e = "/", t = (x) => x, r = /^[$_\p{ID_Start}]$/u, s = /^[$\u200c\u200d\p{ID_Continue}]$/u, o = {
821
822
  // Groups.
822
823
  "{": "{",
@@ -978,8 +979,8 @@ function at() {
978
979
  for (let N = 1; N < j.length; N++) {
979
980
  if (j[N] === void 0)
980
981
  continue;
981
- const Y = w[N - 1], Ge = M[N - 1];
982
- F[Y.name] = Ge(j[N]);
982
+ const Y = w[N - 1], ke = M[N - 1];
983
+ F[Y.name] = ke(j[N]);
983
984
  }
984
985
  return { path: D, params: F };
985
986
  };
@@ -989,7 +990,7 @@ function at() {
989
990
  for (const F of W(x, [])) {
990
991
  const N = typeof F == "object" ? F : i(F, R);
991
992
  for (const Y of ee(N.tokens, 0, []))
992
- H.push(Ee(Y, U, M, N.originalPath));
993
+ H.push(Be(Y, U, M, N.originalPath));
993
994
  }
994
995
  let j = `^(?:${H.join("|")})`;
995
996
  return w && (j += `(?:${a(U)}$)?`), j += T ? "$" : `(?=${a(U)}|$)`, { regexp: new RegExp(j, B), keys: M };
@@ -1013,7 +1014,7 @@ function at() {
1013
1014
  U.push(T);
1014
1015
  yield* ee(x, R + 1, U);
1015
1016
  }
1016
- function Ee(x, R, U, T) {
1017
+ function Be(x, R, U, T) {
1017
1018
  let A = "", w = "", M = !0;
1018
1019
  for (const B of x) {
1019
1020
  if (B.type === "text") {
@@ -1023,19 +1024,19 @@ function at() {
1023
1024
  if (B.type === "param" || B.type === "wildcard") {
1024
1025
  if (!M && !w)
1025
1026
  throw new c(`Missing text before "${B.name}" ${B.type}`, T);
1026
- B.type === "param" ? A += `(${Be(R, M ? "" : w)}+)` : A += "([\\s\\S]+)", U.push(B), w = "", M = !1;
1027
+ B.type === "param" ? A += `(${Me(R, M ? "" : w)}+)` : A += "([\\s\\S]+)", U.push(B), w = "", M = !1;
1027
1028
  continue;
1028
1029
  }
1029
1030
  }
1030
1031
  return A;
1031
1032
  }
1032
- function Be(x, R) {
1033
+ function Me(x, R) {
1033
1034
  return R.length < 2 ? x.length < 2 ? `[^${a(x + R)}]` : `(?:(?!${a(x)})[^${a(R)}])` : x.length < 2 ? `(?:(?!${a(R)})[^${a(x)}])` : `(?:(?!${a(R)}|${a(x)})[\\s\\S])`;
1034
1035
  }
1035
- function Ce(x) {
1036
+ function Se(x) {
1036
1037
  let R = "", U = 0;
1037
1038
  function T(A) {
1038
- return Le(A) && Fe(x[U]) ? A : JSON.stringify(A);
1039
+ return Fe(A) && Ge(x[U]) ? A : JSON.stringify(A);
1039
1040
  }
1040
1041
  for (; U < x.length; ) {
1041
1042
  const A = x[U++];
@@ -1044,7 +1045,7 @@ function at() {
1044
1045
  continue;
1045
1046
  }
1046
1047
  if (A.type === "group") {
1047
- R += `{${Ce(A.tokens)}}`;
1048
+ R += `{${Se(A.tokens)}}`;
1048
1049
  continue;
1049
1050
  }
1050
1051
  if (A.type === "param") {
@@ -1059,19 +1060,19 @@ function at() {
1059
1060
  }
1060
1061
  return R;
1061
1062
  }
1062
- function Me(x) {
1063
- return Ce(x.tokens);
1064
- }
1065
1063
  function Le(x) {
1064
+ return Se(x.tokens);
1065
+ }
1066
+ function Fe(x) {
1066
1067
  const [R, ...U] = x;
1067
1068
  return r.test(R) && U.every((T) => s.test(T));
1068
1069
  }
1069
- function Fe(x) {
1070
+ function Ge(x) {
1070
1071
  return x && x.type === "text" ? !s.test(x.value[0]) : !0;
1071
1072
  }
1072
1073
  return K;
1073
1074
  }
1074
- var lt = at();
1075
+ var it = ct();
1075
1076
  function le(e) {
1076
1077
  "@babel/helpers - typeof";
1077
1078
  return le = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
@@ -1080,7 +1081,7 @@ function le(e) {
1080
1081
  return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
1081
1082
  }, le(e);
1082
1083
  }
1083
- function ot(e, t) {
1084
+ function pt(e, t) {
1084
1085
  if (le(e) != "object" || !e) return e;
1085
1086
  var r = e[Symbol.toPrimitive];
1086
1087
  if (r !== void 0) {
@@ -1090,32 +1091,32 @@ function ot(e, t) {
1090
1091
  }
1091
1092
  return (t === "string" ? String : Number)(e);
1092
1093
  }
1093
- function nt(e) {
1094
- var t = ot(e, "string");
1094
+ function dt(e) {
1095
+ var t = pt(e, "string");
1095
1096
  return le(t) == "symbol" ? t : t + "";
1096
1097
  }
1097
- function ct(e, t, r) {
1098
- return (t = nt(t)) in e ? Object.defineProperty(e, t, {
1098
+ function ht(e, t, r) {
1099
+ return (t = dt(t)) in e ? Object.defineProperty(e, t, {
1099
1100
  value: r,
1100
1101
  enumerable: !0,
1101
1102
  configurable: !0,
1102
1103
  writable: !0
1103
1104
  }) : e[t] = r, e;
1104
1105
  }
1105
- const O = "/api/v2".replace(/\/+$/, ""), Pe = {
1106
+ const O = "/api/v2".replace(/\/+$/, ""), Ie = {
1106
1107
  csv: ","
1107
1108
  };
1108
1109
  var L = class {
1109
1110
  constructor(e, t = O, r = m) {
1110
- this.basePath = t, this.axios = r, ct(this, "configuration", void 0), e && (this.configuration = e, this.basePath = e.basePath ?? t);
1111
+ this.basePath = t, this.axios = r, ht(this, "configuration", void 0), e && (this.configuration = e, this.basePath = e.basePath ?? t);
1111
1112
  }
1112
- }, it = class extends Error {
1113
+ }, ut = class extends Error {
1113
1114
  constructor(e, t) {
1114
1115
  super(t), this.field = e, this.name = "RequiredError";
1115
1116
  }
1116
1117
  };
1117
1118
  const V = {}, C = "https://example.com", h = function(e, t, r) {
1118
- if (r == null) throw new it(t, `Required parameter ${t} was null or undefined when calling ${e}.`);
1119
+ if (r == null) throw new ut(t, `Required parameter ${t} was null or undefined when calling ${e}.`);
1119
1120
  }, S = function(e, t) {
1120
1121
  t && (t.username || t.password) && (e.auth = {
1121
1122
  username: t.username,
@@ -1143,13 +1144,13 @@ const y = function(e, ...t) {
1143
1144
  };
1144
1145
  return o.request(a);
1145
1146
  };
1146
- }, cr = {
1147
+ }, ur = {
1147
1148
  Abb: "abb",
1148
1149
  Fanuc: "fanuc",
1149
1150
  Kuka: "kuka",
1150
1151
  Universalrobots: "universalrobots",
1151
1152
  Yaskawa: "yaskawa"
1152
- }, pt = function(e) {
1153
+ }, mt = function(e) {
1153
1154
  return {
1154
1155
  addApp: async (t, r, s, o = {}) => {
1155
1156
  h("addApp", "cell", t), h("addApp", "app", r);
@@ -1279,7 +1280,7 @@ const y = function(e, ...t) {
1279
1280
  }
1280
1281
  };
1281
1282
  }, Z = function(e) {
1282
- const t = pt(e);
1283
+ const t = mt(e);
1283
1284
  return {
1284
1285
  async addApp(r, s, o, n) {
1285
1286
  var i, p;
@@ -1313,7 +1314,7 @@ const y = function(e, ...t) {
1313
1314
  }
1314
1315
  };
1315
1316
  };
1316
- var Ie = class extends L {
1317
+ var ve = class extends L {
1317
1318
  /**
1318
1319
  * Install a basic, containerized web application to the cell to control robots with a customized frontend. #### Prerequisites - A Docker hub account or similar container registry account, with valid credentials. #### Workflow After adding the application to the cell, open the application on the Wandelbots NOVA home screen. Read [build your application](https://docs.wandelbots.io/latest/developing-introduction) for more information. #### Predefined environment variables <!-- theme: NOTE --> > **NOTE** > - `NOVA_API`: The API endpoint accessible from within the application container. > - `NATS_BROKER`: The NATS broker endpoint accessible from within the application container. > - `BASE_PATH`: The application\'s root path, accessible at http://$host/$BASE_PATH > - `CELL_NAME`: The name of the cell hosting the deployed application.
1319
1320
  * @summary Add Application
@@ -1384,7 +1385,7 @@ var Ie = class extends L {
1384
1385
  return Z(this.configuration).updateApp(e, t, r, s, o).then((n) => n(this.axios, this.basePath));
1385
1386
  }
1386
1387
  };
1387
- const dt = function(e) {
1388
+ const Ot = function(e) {
1388
1389
  return {
1389
1390
  addBusIOService: async (t, r, s, o = {}) => {
1390
1391
  h("addBusIOService", "cell", t), h("addBusIOService", "busIOType", r);
@@ -1766,7 +1767,7 @@ const dt = function(e) {
1766
1767
  }
1767
1768
  };
1768
1769
  }, G = function(e) {
1769
- const t = dt(e);
1770
+ const t = Ot(e);
1770
1771
  return {
1771
1772
  async addBusIOService(r, s, o, n) {
1772
1773
  var i, p;
@@ -1860,7 +1861,7 @@ const dt = function(e) {
1860
1861
  }
1861
1862
  };
1862
1863
  };
1863
- var ht = class extends L {
1864
+ var Vt = class extends L {
1864
1865
  /**
1865
1866
  * Add the BUS inputs/outputs service to the cell. Starts a containerized service that enables BUS connections via the specified ethernet port.
1866
1867
  * @summary Add Service
@@ -2056,7 +2057,7 @@ var ht = class extends L {
2056
2057
  return G(this.configuration).setProfinetIOsFromFile(e, t, r).then((s) => s(this.axios, this.basePath));
2057
2058
  }
2058
2059
  };
2059
- const ut = function(e) {
2060
+ const Ct = function(e) {
2060
2061
  return {
2061
2062
  deleteCell: async (t, r, s = {}) => {
2062
2063
  h("deleteCell", "cell", t);
@@ -2206,7 +2207,7 @@ const ut = function(e) {
2206
2207
  }
2207
2208
  };
2208
2209
  }, X = function(e) {
2209
- const t = ut(e);
2210
+ const t = Ct(e);
2210
2211
  return {
2211
2212
  async deleteCell(r, s, o) {
2212
2213
  var c, i;
@@ -2245,7 +2246,7 @@ const ut = function(e) {
2245
2246
  }
2246
2247
  };
2247
2248
  };
2248
- var mt = class extends L {
2249
+ var St = class extends L {
2249
2250
  /**
2250
2251
  * Delete an entire cell.
2251
2252
  * @summary Delete Cell
@@ -2321,7 +2322,7 @@ var mt = class extends L {
2321
2322
  return X(this.configuration).updateCell(e, t, r, s).then((o) => o(this.axios, this.basePath));
2322
2323
  }
2323
2324
  };
2324
- const Ot = function(e) {
2325
+ const bt = function(e) {
2325
2326
  return {
2326
2327
  addRobotController: async (t, r, s, o = {}) => {
2327
2328
  h("addRobotController", "cell", t), h("addRobotController", "robotController", r);
@@ -2619,7 +2620,7 @@ const Ot = function(e) {
2619
2620
  }
2620
2621
  };
2621
2622
  }, Q = function(e) {
2622
- const t = Ot(e);
2623
+ const t = bt(e);
2623
2624
  return {
2624
2625
  async addRobotController(r, s, o, n) {
2625
2626
  var i, p;
@@ -2693,7 +2694,7 @@ const Ot = function(e) {
2693
2694
  }
2694
2695
  };
2695
2696
  };
2696
- var Vt = class extends L {
2697
+ var yt = class extends L {
2697
2698
  /**
2698
2699
  * Add a robot controller to the cell.
2699
2700
  * @summary Add Robot Controller
@@ -2859,7 +2860,7 @@ var Vt = class extends L {
2859
2860
  return Q(this.configuration).updateRobotController(e, t, r, s, o).then((n) => n(this.axios, this.basePath));
2860
2861
  }
2861
2862
  };
2862
- const Ct = function(e) {
2863
+ const Pt = function(e) {
2863
2864
  return {
2864
2865
  listIODescriptions: async (t, r, s, o, n, a, l = {}) => {
2865
2866
  h("listIODescriptions", "cell", t), h("listIODescriptions", "controller", r);
@@ -2968,7 +2969,7 @@ const Ct = function(e) {
2968
2969
  }
2969
2970
  };
2970
2971
  }, te = function(e) {
2971
- const t = Ct(e);
2972
+ const t = Pt(e);
2972
2973
  return {
2973
2974
  async listIODescriptions(r, s, o, n, a, l, c) {
2974
2975
  var u, v;
@@ -2997,7 +2998,7 @@ const Ct = function(e) {
2997
2998
  }
2998
2999
  };
2999
3000
  };
3000
- var St = class extends L {
3001
+ var It = class extends L {
3001
3002
  /**
3002
3003
  * Lists the input/output descriptions of the robot controller. The input/output descriptions contain information like name, type and unit.\\ Available inputs/outputs are defined by the robot controller\\ Each input/output has a unique identifier. - If no identifiers and no filters are specified in the request, all available inputs/outputs are retrieved by this endpoint. - If a filter, e.g., `direction`, `value_type`, `group` is applied, only matching inputs/outputs are returned.
3003
3004
  * @summary List Descriptions
@@ -3062,7 +3063,7 @@ var St = class extends L {
3062
3063
  return te(this.configuration).waitForIOEvent(e, t, r, s).then((o) => o(this.axios, this.basePath));
3063
3064
  }
3064
3065
  };
3065
- const bt = function(e) {
3066
+ const vt = function(e) {
3066
3067
  return { executeJogging: async (t, r, s, o = {}) => {
3067
3068
  h("executeJogging", "cell", t), h("executeJogging", "controller", r), h("executeJogging", "executeJoggingRequest", s);
3068
3069
  const n = "/cells/{cell}/controllers/{controller}/execution/jogging".replace("{cell}", encodeURIComponent(String(t))).replace("{controller}", encodeURIComponent(String(r))), a = new URL(n, C);
@@ -3084,15 +3085,15 @@ const bt = function(e) {
3084
3085
  options: c
3085
3086
  };
3086
3087
  } };
3087
- }, yt = function(e) {
3088
- const t = bt(e);
3088
+ }, xt = function(e) {
3089
+ const t = vt(e);
3089
3090
  return { async executeJogging(r, s, o, n) {
3090
3091
  var i, p;
3091
3092
  const a = await t.executeJogging(r, s, o, n), l = (e == null ? void 0 : e.serverIndex) ?? 0, c = (p = (i = V["JoggingApi.executeJogging"]) == null ? void 0 : i[l]) == null ? void 0 : p.url;
3092
3093
  return (d, u) => I(a, m, O, e)(d, c || u);
3093
3094
  } };
3094
3095
  };
3095
- var Pt = class extends L {
3096
+ var wt = class extends L {
3096
3097
  /**
3097
3098
  * <!-- theme: success --> > Websocket endpoint Provides execution control over a dynamically adaptable jogging motion for a motion group. Jogging describes controlling a motion group by sending real-time commands to move either its joints or the TCP. The commands contain target velocities that may change at any time during execution, so the resulting motion cannot be computed upfront. ### Preconditions The motion group is not moved by any other endpoint. ### Requests #### 1. Send `InitializeJoggingRequest` to configure the jogging. - Sets the robot controller mode to control mode. - Claims the motion group for jogging. For robotic arms, TCP is required to ensure that limits, including TCP limits, are respected. #### 2. Send `JointVelocityRequest` or `TcpVelocityRequest` to start the jogging motion. - Commands can only be processed in the cycle rate of the controller - Sending commands faster will not increase the responsiveness of the jogging motion, it will lead to dropped commands - It is recommended to couple sending commands with the [state stream](streamMotionGroupState), which can be subscribed to via nats as well. #### 3. Change or stop the jogging motion - Change the jogging direction and/or velocity during the jogging motion with `JointVelocityRequest` or `TcpVelocityRequest`. - To stop the jogging motion, send zero velocities via either request or `PauseJoggingRequest`. ### Responses - Each request is acknowledged with a corresponding response: - `InitializeJoggingResponse` after `InitializeJoggingRequest` - `JointVelocityResponse` after `JointVelocityRequest` - `TcpVelocityResponse` after `TcpVelocityRequest` - `PauseJoggingResponse` after `PauseJoggingRequest` The responses confirm that the requests were received. They do not signal that the operation was successful; check the [motion group state](streamMotionGroupState) for that. - `MovementErrorResponse` with error details is sent in case of an unexpected error, e.g., controller disconnects during jogging. ### Tips and Tricks - Ensure that the websocket connection remains open until the jogging motion is stopped to avoid unexpected stops.
3098
3099
  * @summary Execute Jogging
@@ -3103,10 +3104,10 @@ var Pt = class extends L {
3103
3104
  * @throws {RequiredError}
3104
3105
  */
3105
3106
  executeJogging(e, t, r, s) {
3106
- return yt(this.configuration).executeJogging(e, t, r, s).then((o) => o(this.axios, this.basePath));
3107
+ return xt(this.configuration).executeJogging(e, t, r, s).then((o) => o(this.axios, this.basePath));
3107
3108
  }
3108
3109
  };
3109
- const It = function(e) {
3110
+ const At = function(e) {
3110
3111
  return {
3111
3112
  forwardKinematics: async (t, r, s = {}) => {
3112
3113
  h("forwardKinematics", "cell", t), h("forwardKinematics", "forwardKinematicsRequest", r);
@@ -3151,8 +3152,8 @@ const It = function(e) {
3151
3152
  };
3152
3153
  }
3153
3154
  };
3154
- }, ve = function(e) {
3155
- const t = It(e);
3155
+ }, xe = function(e) {
3156
+ const t = At(e);
3156
3157
  return {
3157
3158
  async forwardKinematics(r, s, o) {
3158
3159
  var c, i;
@@ -3166,7 +3167,7 @@ const It = function(e) {
3166
3167
  }
3167
3168
  };
3168
3169
  };
3169
- var vt = class extends L {
3170
+ var Rt = class extends L {
3170
3171
  /**
3171
3172
  * Returns the TCP poses for a list of given joint positions.
3172
3173
  * @summary Forward kinematics
@@ -3176,7 +3177,7 @@ var vt = class extends L {
3176
3177
  * @throws {RequiredError}
3177
3178
  */
3178
3179
  forwardKinematics(e, t, r) {
3179
- return ve(this.configuration).forwardKinematics(e, t, r).then((s) => s(this.axios, this.basePath));
3180
+ return xe(this.configuration).forwardKinematics(e, t, r).then((s) => s(this.axios, this.basePath));
3180
3181
  }
3181
3182
  /**
3182
3183
  * Returns the reachable joint positions for a list of given poses.
@@ -3187,10 +3188,10 @@ var vt = class extends L {
3187
3188
  * @throws {RequiredError}
3188
3189
  */
3189
3190
  inverseKinematics(e, t, r) {
3190
- return ve(this.configuration).inverseKinematics(e, t, r).then((s) => s(this.axios, this.basePath));
3191
+ return xe(this.configuration).inverseKinematics(e, t, r).then((s) => s(this.axios, this.basePath));
3191
3192
  }
3192
3193
  };
3193
- const xt = function(e) {
3194
+ const Ut = function(e) {
3194
3195
  return {
3195
3196
  getCurrentMotionGroupState: async (t, r, s, o, n = {}) => {
3196
3197
  h("getCurrentMotionGroupState", "cell", t), h("getCurrentMotionGroupState", "controller", r), h("getCurrentMotionGroupState", "motionGroup", s);
@@ -3257,7 +3258,7 @@ const xt = function(e) {
3257
3258
  }
3258
3259
  };
3259
3260
  }, he = function(e) {
3260
- const t = xt(e);
3261
+ const t = Ut(e);
3261
3262
  return {
3262
3263
  async getCurrentMotionGroupState(r, s, o, n, a) {
3263
3264
  var p, d;
@@ -3276,7 +3277,7 @@ const xt = function(e) {
3276
3277
  }
3277
3278
  };
3278
3279
  };
3279
- var wt = class extends L {
3280
+ var Tt = class extends L {
3280
3281
  /**
3281
3282
  * Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
3282
3283
  * @summary State
@@ -3317,7 +3318,7 @@ var wt = class extends L {
3317
3318
  return he(this.configuration).streamMotionGroupState(e, t, r, s, o, n).then((a) => a(this.axios, this.basePath));
3318
3319
  }
3319
3320
  };
3320
- const At = function(e) {
3321
+ const _t = function(e) {
3321
3322
  return {
3322
3323
  getMotionGroupCollisionModel: async (t, r = {}) => {
3323
3324
  h("getMotionGroupCollisionModel", "motionGroupModel", t);
@@ -3425,7 +3426,7 @@ const At = function(e) {
3425
3426
  }
3426
3427
  };
3427
3428
  }, re = function(e) {
3428
- const t = At(e);
3429
+ const t = _t(e);
3429
3430
  return {
3430
3431
  async getMotionGroupCollisionModel(r, s) {
3431
3432
  var l, c;
@@ -3454,7 +3455,7 @@ const At = function(e) {
3454
3455
  }
3455
3456
  };
3456
3457
  };
3457
- var Rt = class extends L {
3458
+ var jt = class extends L {
3458
3459
  /**
3459
3460
  * Returns the default collision link chain for a given motion group model. See [getMotionGroupModels](getMotionGroupModels) for supported motion group models. The default link chain is derived from 3D models and optimized for collision detection within NOVA. The default link chain includes link shapes only. It does not include any attached components like wire feeders or sensors. Attach additional shapes to the link reference frames by extending the link dictionaries before further use. Additional shapes may overlap each other per link and may also overlap the respective link\'s default shape.
3460
3461
  * @summary Get Collision Model
@@ -3505,7 +3506,7 @@ var Rt = class extends L {
3505
3506
  return re(this.configuration).getMotionGroupUsdModel(e, t).then((r) => r(this.axios, this.basePath));
3506
3507
  }
3507
3508
  };
3508
- const Ut = function(e) {
3509
+ const Et = function(e) {
3509
3510
  return {
3510
3511
  deleteStoredCollider: async (t, r, s = {}) => {
3511
3512
  h("deleteStoredCollider", "cell", t), h("deleteStoredCollider", "collider", r);
@@ -3824,7 +3825,7 @@ const Ut = function(e) {
3824
3825
  }
3825
3826
  };
3826
3827
  }, k = function(e) {
3827
- const t = Ut(e);
3828
+ const t = Et(e);
3828
3829
  return {
3829
3830
  async deleteStoredCollider(r, s, o) {
3830
3831
  var c, i;
@@ -3903,7 +3904,7 @@ const Ut = function(e) {
3903
3904
  }
3904
3905
  };
3905
3906
  };
3906
- var Tt = class extends L {
3907
+ var Bt = class extends L {
3907
3908
  /**
3908
3909
  * Deletes the stored collider. <!-- theme: danger --> > This will delete persistently stored data.
3909
3910
  * @summary Delete Collider
@@ -4067,7 +4068,7 @@ var Tt = class extends L {
4067
4068
  return k(this.configuration).storeCollisionTool(e, t, r, s).then((o) => o(this.axios, this.basePath));
4068
4069
  }
4069
4070
  };
4070
- const _t = function(e) {
4071
+ const Mt = function(e) {
4071
4072
  return {
4072
4073
  deleteStoredCollisionSetup: async (t, r, s = {}) => {
4073
4074
  h("deleteStoredCollisionSetup", "cell", t), h("deleteStoredCollisionSetup", "setup", r);
@@ -4176,7 +4177,7 @@ const _t = function(e) {
4176
4177
  }
4177
4178
  };
4178
4179
  }, se = function(e) {
4179
- const t = _t(e);
4180
+ const t = Mt(e);
4180
4181
  return {
4181
4182
  async deleteStoredCollisionSetup(r, s, o) {
4182
4183
  var c, i;
@@ -4205,7 +4206,7 @@ const _t = function(e) {
4205
4206
  }
4206
4207
  };
4207
4208
  };
4208
- var jt = class extends L {
4209
+ var Lt = class extends L {
4209
4210
  /**
4210
4211
  * Deletes the stored collision setup. <!-- theme: danger --> > This will delete persistently stored data.
4211
4212
  * @summary Delete Collision Setup
@@ -4261,7 +4262,7 @@ var jt = class extends L {
4261
4262
  return se(this.configuration).storeCollisionSetup(e, t, r, s).then((o) => o(this.axios, this.basePath));
4262
4263
  }
4263
4264
  };
4264
- const Et = function(e) {
4265
+ const Ft = function(e) {
4265
4266
  return {
4266
4267
  clearAllObjects: async (t, r = {}) => {
4267
4268
  h("clearAllObjects", "cell", t);
@@ -4391,7 +4392,7 @@ const Et = function(e) {
4391
4392
  }
4392
4393
  };
4393
4394
  }, f = function(e) {
4394
- const t = Et(e);
4395
+ const t = Ft(e);
4395
4396
  return {
4396
4397
  async clearAllObjects(r, s) {
4397
4398
  var l, c;
@@ -4425,7 +4426,7 @@ const Et = function(e) {
4425
4426
  }
4426
4427
  };
4427
4428
  };
4428
- var Bt = class extends L {
4429
+ var Gt = class extends L {
4429
4430
  /**
4430
4431
  * Delete all objects. <!-- theme: danger --> > This will delete ALL your persistently stored data.
4431
4432
  * @summary Clear all Objects
@@ -4493,7 +4494,7 @@ var Bt = class extends L {
4493
4494
  return f(this.configuration).storeObject(e, t, r, s, o).then((n) => n(this.axios, this.basePath));
4494
4495
  }
4495
4496
  };
4496
- const Mt = function(e) {
4497
+ const kt = function(e) {
4497
4498
  return {
4498
4499
  backupConfiguration: async (t, r, s = {}) => {
4499
4500
  const o = new URL("/system/configuration", C);
@@ -4504,7 +4505,7 @@ const Mt = function(e) {
4504
4505
  ...n,
4505
4506
  ...s
4506
4507
  }, l = {}, c = {};
4507
- S(a, e), await b(l, e), t && (c.resources = t.join(Pe.csv)), r !== void 0 && (c.metadata = r), y(o, c);
4508
+ S(a, e), await b(l, e), t && (c.resources = t.join(Ie.csv)), r !== void 0 && (c.metadata = r), y(o, c);
4508
4509
  let i = n && n.headers ? n.headers : {};
4509
4510
  return a.headers = {
4510
4511
  ...l,
@@ -4707,7 +4708,7 @@ const Mt = function(e) {
4707
4708
  ...n,
4708
4709
  ...s
4709
4710
  }, l = {}, c = {};
4710
- S(a, e), await b(l, e), r && (c.resources = r.join(Pe.csv)), l["Content-Type"] = "application/gzip", y(o, c);
4711
+ S(a, e), await b(l, e), r && (c.resources = r.join(Ie.csv)), l["Content-Type"] = "application/gzip", y(o, c);
4711
4712
  let i = n && n.headers ? n.headers : {};
4712
4713
  return a.headers = {
4713
4714
  ...l,
@@ -4741,7 +4742,7 @@ const Mt = function(e) {
4741
4742
  }
4742
4743
  };
4743
4744
  }, $ = function(e) {
4744
- const t = Mt(e);
4745
+ const t = kt(e);
4745
4746
  return {
4746
4747
  async backupConfiguration(r, s, o) {
4747
4748
  var c, i;
@@ -4805,7 +4806,7 @@ const Mt = function(e) {
4805
4806
  }
4806
4807
  };
4807
4808
  };
4808
- var Lt = class extends L {
4809
+ var qt = class extends L {
4809
4810
  /**
4810
4811
  * Retrieves a configuration backup based on provided resource identifiers. If an empty array of resources is provided, a backup for all resources will be retrieved.
4811
4812
  * @summary Retrieve Configuration Backup
@@ -4925,7 +4926,7 @@ var Lt = class extends L {
4925
4926
  return $(this.configuration).updateNovaVersion(e, t).then((r) => r(this.axios, this.basePath));
4926
4927
  }
4927
4928
  };
4928
- const Ft = function(e) {
4929
+ const Dt = function(e) {
4929
4930
  return {
4930
4931
  addTrajectory: async (t, r, s, o = {}) => {
4931
4932
  h("addTrajectory", "cell", t), h("addTrajectory", "controller", r), h("addTrajectory", "addTrajectoryRequest", s);
@@ -5034,7 +5035,7 @@ const Ft = function(e) {
5034
5035
  }
5035
5036
  };
5036
5037
  }, ae = function(e) {
5037
- const t = Ft(e);
5038
+ const t = Dt(e);
5038
5039
  return {
5039
5040
  async addTrajectory(r, s, o, n) {
5040
5041
  var i, p;
@@ -5063,7 +5064,7 @@ const Ft = function(e) {
5063
5064
  }
5064
5065
  };
5065
5066
  };
5066
- var Gt = class extends L {
5067
+ var Qt = class extends L {
5067
5068
  /**
5068
5069
  * Loads and validates the data of a trajectory into the execution cache, rendering the trajectory executable. <!-- theme: info --> > #### NOTE > > Using the trajectory cache is an optional performance optimization. It is not necessary to use the cache to execute trajectories. The response contains the result of the validation of the trajectory. Validation can lead to three different results: - Fully valid: The whole trajectory can be executed from start to end. The response will contain an unique identifier which is used to move the robot. - Partially valid: Only parts of the trajectory can be executed. The response will contain an unique identifier to move the robot and information about the failure for the part that is not executable. - Invalid: The trajectory can not be executed. The response will tell you the reason of failure. If the trajectory is at least partially valid, the parts of the trajectory that are valid can be executed using the [executeTrajectory](executeTrajectory) endpoint. The workflow is as follows: - Generate a trajectory with [planTrajectory](planTrajectory) or your own motion planner, - Send the trajectory to this endpoint to validate it and get a unique identifier for it, - The unique identifier will appear in the list of available trajectories, see [listTrajectories](listTrajectories) endpoint, if it is at least partially executable. - Execute your trajectory using the [executeTrajectory](executeTrajectory) endpoint.
5069
5070
  * @summary Add Trajectory
@@ -5123,7 +5124,7 @@ var Gt = class extends L {
5123
5124
  return ae(this.configuration).listTrajectories(e, t, r).then((s) => s(this.axios, this.basePath));
5124
5125
  }
5125
5126
  };
5126
- const kt = function(e) {
5127
+ const Ht = function(e) {
5127
5128
  return { executeTrajectory: async (t, r, s, o = {}) => {
5128
5129
  h("executeTrajectory", "cell", t), h("executeTrajectory", "controller", r), h("executeTrajectory", "executeTrajectoryRequest", s);
5129
5130
  const n = "/cells/{cell}/controllers/{controller}/execution/trajectory".replace("{cell}", encodeURIComponent(String(t))).replace("{controller}", encodeURIComponent(String(r))), a = new URL(n, C);
@@ -5145,15 +5146,15 @@ const kt = function(e) {
5145
5146
  options: c
5146
5147
  };
5147
5148
  } };
5148
- }, qt = function(e) {
5149
- const t = kt(e);
5149
+ }, Nt = function(e) {
5150
+ const t = Ht(e);
5150
5151
  return { async executeTrajectory(r, s, o, n) {
5151
5152
  var i, p;
5152
5153
  const a = await t.executeTrajectory(r, s, o, n), l = (e == null ? void 0 : e.serverIndex) ?? 0, c = (p = (i = V["TrajectoryExecutionApi.executeTrajectory"]) == null ? void 0 : i[l]) == null ? void 0 : p.url;
5153
5154
  return (d, u) => I(a, m, O, e)(d, c || u);
5154
5155
  } };
5155
5156
  };
5156
- var Dt = class extends L {
5157
+ var Kt = class extends L {
5157
5158
  /**
5158
5159
  * <!-- theme: success --> > Websocket endpoint Provides execution control over a previously [planned trajectory](planTrajectory). Enables the caller to attach input/output actions to the trajectory. ### Movement behavior | Virtual controller | Physical controller | |------------------|-------------------| | Desired joint configurations are commanded to each motion group and **applied immediately** | Move to desired **actual joint configuration**, **if possible** | ### Concept of location - The location or path parameter specifies the exact position along a trajectory. - The location is a scalar value that ranges from 0 to `n`, where `n` denotes the number of motion commands, or trajectory segments, e.g., line, p2p, etc. See [planTrajectory](planTrajectory). - Each integer value of the location corresponds to one motion command, e.g., 3.0 to 3.999 could be a line. ### Preconditions - The motion group\'s control mode is not claimed by any other endpoint. - The motion group\'s joint position are at start location specified with `InitializeMovementRequest`. - Use [executeToTrajectory](executeToTrajectory) to move the robot to the start location. ### Requests #### 1. Send `InitializeMovementRequest` to lock the trajectory to this connection The following actions are executed: - Sets robot controller mode to control mode, - Sets start location of the execution Keep in mind that only a single trajectory can be locked to a websocket connection at a time. Pausing the current movement enables you to send another `InitializeMovementRequest` to execute another trajectory on the same connection. #### 2. Send `StartMovementRequest` to start the movement Sets direction of movement, default is forward. #### **Optional** - To pause, send `PauseMovementRequest` before the movement has reached its end location. - Change the movement\'s velocity with `PlaybackSpeedRequest` after initializing the movement with `InitializeMovementRequest`. ### Responses To monitor the state of the movement, listen to the [state stream](streamMotionGroupState). The state is published via nats as well. Field `execute` in the `MotionGroupState` indicates whether a movement is ongoing and carries execution details. Each request has a corresponding acknowledgment response. They signal success or failure of the request. Especially for `PauseMovementResponse`, it does not signal the end of the movement. Additionally, `MovementError` messages can be sent in case of unexpected errors during the execution, e.g., controller disconnects during movement. ### Tips and Tricks - A movement can be paused and resumed by sending `PauseMovementRequest` and `StartMovementRequest`. - Send `PlaybackSpeedRequest` before `StartMovementRequest` to reduce the velocity of the movement before it starts. - Send `PlaybackSpeedRequest` repeatedly to implement a slider. The velocity of the motion group can be adjusted with each controller step. Therefore, if your app needs a slider-like UI to alter the velocity of a currently running movement, you can send `PlaybackSpeedRequest` with different speed values repeatedly during the movement. - A closed trajectory (end and start joint position are equal) can be repeated by sending `StartMovementRequest` after the movement has finished.
5159
5160
  * @summary Execute Trajectory
@@ -5164,10 +5165,10 @@ var Dt = class extends L {
5164
5165
  * @throws {RequiredError}
5165
5166
  */
5166
5167
  executeTrajectory(e, t, r, s) {
5167
- return qt(this.configuration).executeTrajectory(e, t, r, s).then((o) => o(this.axios, this.basePath));
5168
+ return Nt(this.configuration).executeTrajectory(e, t, r, s).then((o) => o(this.axios, this.basePath));
5168
5169
  }
5169
5170
  };
5170
- const Qt = function(e) {
5171
+ const $t = function(e) {
5171
5172
  return {
5172
5173
  planCollisionFree: async (t, r, s = {}) => {
5173
5174
  h("planCollisionFree", "cell", t), h("planCollisionFree", "planCollisionFreeRequest", r);
@@ -5212,8 +5213,8 @@ const Qt = function(e) {
5212
5213
  };
5213
5214
  }
5214
5215
  };
5215
- }, xe = function(e) {
5216
- const t = Qt(e);
5216
+ }, we = function(e) {
5217
+ const t = $t(e);
5217
5218
  return {
5218
5219
  async planCollisionFree(r, s, o) {
5219
5220
  var c, i;
@@ -5227,7 +5228,7 @@ const Qt = function(e) {
5227
5228
  }
5228
5229
  };
5229
5230
  };
5230
- var Ht = class extends L {
5231
+ var Jt = class extends L {
5231
5232
  /**
5232
5233
  * Plans a collision-free trajectory for a single motion group using point-to-point (PTP) motions. This endpoint is specifically designed for collision-free path planning algorithms that find a trajectory from a start joint position to a target position while avoiding obstacles. Use the following workflow to execute a planned collision-free trajectory: 1. Plan a collision-free trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory planning fails due to collision or algorithm constraints, the response will contain error information about the failure.
5233
5234
  * @summary Plan Collision-Free Trajectory
@@ -5237,7 +5238,7 @@ var Ht = class extends L {
5237
5238
  * @throws {RequiredError}
5238
5239
  */
5239
5240
  planCollisionFree(e, t, r) {
5240
- return xe(this.configuration).planCollisionFree(e, t, r).then((s) => s(this.axios, this.basePath));
5241
+ return we(this.configuration).planCollisionFree(e, t, r).then((s) => s(this.axios, this.basePath));
5241
5242
  }
5242
5243
  /**
5243
5244
  * Plans a new trajectory for a single motion group. Describe the trajectory as a sequence of motion commands that the robots TCP should follow. Use the following workflow to execute a planned trajectory: 1. Plan a trajectory. 2. Optional: Load the planned trajectory into the cache using the [addTrajectory](addTrajectory) endpoint. 3. Execute the (cached) trajectory using the [executeTrajectory](executeTrajectory) endpoint. If the trajectory is not executable, the response will contain the joint trajectory up until the error, e.g., all samples until a collision occurs. <!-- theme: info --> > #### Exception > > If a CartesianPTP or JointPTP motion command has an invalid target, the response will contain the trajectory up until the start of the invalid PTP motion.
@@ -5248,10 +5249,10 @@ var Ht = class extends L {
5248
5249
  * @throws {RequiredError}
5249
5250
  */
5250
5251
  planTrajectory(e, t, r) {
5251
- return xe(this.configuration).planTrajectory(e, t, r).then((s) => s(this.axios, this.basePath));
5252
+ return we(this.configuration).planTrajectory(e, t, r).then((s) => s(this.axios, this.basePath));
5252
5253
  }
5253
5254
  };
5254
- const Nt = function(e) {
5255
+ const gt = function(e) {
5255
5256
  return {
5256
5257
  addVirtualControllerCoordinateSystem: async (t, r, s, o, n = {}) => {
5257
5258
  h("addVirtualControllerCoordinateSystem", "cell", t), h("addVirtualControllerCoordinateSystem", "controller", r), h("addVirtualControllerCoordinateSystem", "coordinateSystem", s), h("addVirtualControllerCoordinateSystem", "coordinateSystemData", o);
@@ -5570,7 +5571,7 @@ const Nt = function(e) {
5570
5571
  }
5571
5572
  };
5572
5573
  }, q = function(e) {
5573
- const t = Nt(e);
5574
+ const t = gt(e);
5574
5575
  return {
5575
5576
  async addVirtualControllerCoordinateSystem(r, s, o, n, a) {
5576
5577
  var p, d;
@@ -5649,7 +5650,7 @@ const Nt = function(e) {
5649
5650
  }
5650
5651
  };
5651
5652
  };
5652
- var Kt = class extends L {
5653
+ var Wt = class extends L {
5653
5654
  /**
5654
5655
  * Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
5655
5656
  * @summary Add Coordinate Systems
@@ -5834,7 +5835,7 @@ var Kt = class extends L {
5834
5835
  return q(this.configuration).setVirtualControllerMounting(e, t, r, s, o).then((n) => n(this.axios, this.basePath));
5835
5836
  }
5836
5837
  };
5837
- const $t = function(e) {
5838
+ const Yt = function(e) {
5838
5839
  return {
5839
5840
  externalJointsStream: async (t, r, s, o = {}) => {
5840
5841
  h("externalJointsStream", "cell", t), h("externalJointsStream", "controller", r), h("externalJointsStream", "externalJointStreamRequest", s);
@@ -5922,7 +5923,7 @@ const $t = function(e) {
5922
5923
  }
5923
5924
  };
5924
5925
  }, ne = function(e) {
5925
- const t = $t(e);
5926
+ const t = Yt(e);
5926
5927
  return {
5927
5928
  async externalJointsStream(r, s, o, n) {
5928
5929
  var i, p;
@@ -5946,7 +5947,7 @@ const $t = function(e) {
5946
5947
  }
5947
5948
  };
5948
5949
  };
5949
- var Jt = class extends L {
5950
+ var zt = class extends L {
5950
5951
  /**
5951
5952
  * <!-- theme: success --> > Websocket endpoint Sends the **commanded** state, e.g., joint positions, velocities, accelerations, torques, for each motion group of the virtual controller and sets the joint configuration. Use [planTrajectory](planTrajectory) and [executeTrajectory](executeTrajectory) to move motion groups on virtual controllers. Learn more about the [movement behavior of virtual controllers in comparison to physical controllers](executeTrajectory#movement-behavior). > **NOTE** > > Incoming joint configurations are not visualized and their velocity limits are not checked. #### Use cases 1. Creating a robotic application that dynamically adapts to the configured joints on the robot controller, using this stream to feed new joint configurations back to the motion groups.\\ The stream only sends data to the robot controller if a motion is executed.\\ If the robot controller\'s joint configuration differs too much from the incoming joint configuration, a following error occurs. Joint configurations that result in following errors are executed only for motions with a low velocity. 2. Mimic freedrive motions. <!-- theme: danger --> > **DANGER** > > If the incoming joint configuration is set to maximum velocity, the movement to reach this incoming joint configuration > will be executed with maximum speed regardless of safety zones and mechanical limits.
5952
5953
  * @summary Stream Joint Configuration
@@ -5994,7 +5995,7 @@ var Jt = class extends L {
5994
5995
  return ne(this.configuration).setVirtualControllerBehavior(e, t, r, s).then((o) => o(this.axios, this.basePath));
5995
5996
  }
5996
5997
  };
5997
- const gt = function(e) {
5998
+ const Xt = function(e) {
5998
5999
  return {
5999
6000
  listIOs: async (t, r, s, o = {}) => {
6000
6001
  h("listIOs", "cell", t), h("listIOs", "controller", r), h("listIOs", "ios", s);
@@ -6061,7 +6062,7 @@ const gt = function(e) {
6061
6062
  }
6062
6063
  };
6063
6064
  }, ue = function(e) {
6064
- const t = gt(e);
6065
+ const t = Xt(e);
6065
6066
  return {
6066
6067
  async listIOs(r, s, o, n) {
6067
6068
  var i, p;
@@ -6080,7 +6081,7 @@ const gt = function(e) {
6080
6081
  }
6081
6082
  };
6082
6083
  };
6083
- var Wt = class extends L {
6084
+ var Zt = class extends L {
6084
6085
  /**
6085
6086
  * Retrieves the current values of inputs/outputs of the virtual controller. The identifiers of inputs/outputs must be provided in the request. Request all available input/output identifiers via [listVirtualControllerIODescriptions](listVirtualControllerIODescriptions).
6086
6087
  * @summary Get Input/Output Values
@@ -6120,9 +6121,9 @@ var Wt = class extends L {
6120
6121
  setIOValues(e, t, r, s) {
6121
6122
  return ue(this.configuration).setIOValues(e, t, r, s).then((o) => o(this.axios, this.basePath));
6122
6123
  }
6123
- }, Yt = class {
6124
+ }, ft = class {
6124
6125
  constructor(e, t) {
6125
- this.cellId = e, this.opts = t, this.system = this.withUnwrappedResponsesOnly(Lt), this.cell = this.withUnwrappedResponsesOnly(mt), this.motionGroup = this.withCellId(wt), this.motionGroupModels = this.withUnwrappedResponsesOnly(Rt), this.controller = this.withCellId(Vt), this.controllerIOs = this.withCellId(St), this.trajectoryPlanning = this.withCellId(Ht), this.trajectoryExecution = this.withCellId(Dt), this.trajectoryCaching = this.withCellId(Gt), this.application = this.withCellId(Ie), this.applicationGlobal = this.withUnwrappedResponsesOnly(Ie), this.jogging = this.withCellId(Pt), this.kinematics = this.withCellId(vt), this.busInputsOutputs = this.withCellId(ht), this.virtualController = this.withCellId(Kt), this.virtualControllerBehavior = this.withCellId(Jt), this.virtualControllerIOs = this.withCellId(Wt), this.storeObject = this.withCellId(Bt), this.storeCollisionComponents = this.withCellId(Tt), this.storeCollisionSetups = this.withCellId(jt);
6126
+ this.cellId = e, this.opts = t, this.system = this.withUnwrappedResponsesOnly(qt), this.cell = this.withUnwrappedResponsesOnly(St), this.motionGroup = this.withCellId(Tt), this.motionGroupModels = this.withUnwrappedResponsesOnly(jt), this.controller = this.withCellId(yt), this.controllerIOs = this.withCellId(It), this.trajectoryPlanning = this.withCellId(Jt), this.trajectoryExecution = this.withCellId(Kt), this.trajectoryCaching = this.withCellId(Qt), this.application = this.withCellId(ve), this.applicationGlobal = this.withUnwrappedResponsesOnly(ve), this.jogging = this.withCellId(wt), this.kinematics = this.withCellId(Rt), this.busInputsOutputs = this.withCellId(Vt), this.virtualController = this.withCellId(Wt), this.virtualControllerBehavior = this.withCellId(zt), this.virtualControllerIOs = this.withCellId(Zt), this.storeObject = this.withCellId(Gt), this.storeCollisionComponents = this.withCellId(Bt), this.storeCollisionSetups = this.withCellId(Lt);
6126
6127
  }
6127
6128
  /**
6128
6129
  * Some TypeScript sorcery which alters the API class methods so you don't
@@ -6154,7 +6155,7 @@ var Wt = class extends L {
6154
6155
  }
6155
6156
  return t;
6156
6157
  }
6157
- }, zt = class {
6158
+ }, er = class {
6158
6159
  constructor() {
6159
6160
  this.connections = [];
6160
6161
  }
@@ -6606,7 +6607,7 @@ var Wt = class extends L {
6606
6607
  }
6607
6608
  ], r = ((o = e.method) == null ? void 0 : o.toUpperCase()) || "GET", s = `/cells${(a = (n = e.url) == null ? void 0 : n.split("/cells")[1]) == null ? void 0 : a.split("?")[0]}`;
6608
6609
  for (const l of t) {
6609
- const c = lt.match(l.path)(s || "");
6610
+ const c = it.match(l.path)(s || "");
6610
6611
  if (r === l.method && c) {
6611
6612
  const i = l.handle();
6612
6613
  return {
@@ -6619,11 +6620,11 @@ var Wt = class extends L {
6619
6620
  };
6620
6621
  }
6621
6622
  }
6622
- throw new He(`No mock handler matched this request: ${r} ${s}`, "404", e);
6623
+ throw new Ne(`No mock handler matched this request: ${r} ${s}`, "404", e);
6623
6624
  }
6624
6625
  handleWebsocketConnection(e) {
6625
6626
  this.connections.push(e), setTimeout(() => {
6626
- e.dispatchEvent(new Event("open")), console.log("Websocket connection opened from", e.url), e.url.includes("/state-stream") && e.dispatchEvent(new MessageEvent("message", { data: JSON.stringify(Xt) })), e.url.includes("/execution/jogging") && e.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ result: {
6627
+ e.dispatchEvent(new Event("open")), console.log("Websocket connection opened from", e.url), e.url.includes("/state-stream") && e.dispatchEvent(new MessageEvent("message", { data: JSON.stringify(tr) })), e.url.includes("/execution/jogging") && e.dispatchEvent(new MessageEvent("message", { data: JSON.stringify({ result: {
6627
6628
  message: "string",
6628
6629
  kind: "INITIALIZE_RECEIVED"
6629
6630
  } }) }));
@@ -6633,7 +6634,7 @@ var Wt = class extends L {
6633
6634
  console.log(`Received message on ${e.url}`, t);
6634
6635
  }
6635
6636
  };
6636
- const Xt = { result: {
6637
+ const tr = { result: {
6637
6638
  motion_group: "0@universalrobots-ur5e",
6638
6639
  controller: "universalrobots-ur5e",
6639
6640
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -6680,21 +6681,21 @@ const Xt = { result: {
6680
6681
  ]
6681
6682
  }
6682
6683
  } };
6683
- var ir = class {
6684
+ var mr = class {
6684
6685
  constructor(e) {
6685
6686
  this.authPromise = null, this.accessToken = null;
6686
6687
  const t = e.cellId ?? "cell";
6687
6688
  this.config = {
6688
6689
  cellId: t,
6689
6690
  ...e
6690
- }, this.accessToken = e.accessToken || oe.getString("wbjs.access_token") || null, this.config.instanceUrl === "https://mock.example.com" && (this.mock = new zt()), this.instanceUrl = et(this.config.instanceUrl);
6691
+ }, this.accessToken = e.accessToken || oe.getString("wbjs.access_token") || null, this.config.instanceUrl === "https://mock.example.com" && (this.mock = new er()), this.instanceUrl = at(this.config.instanceUrl);
6691
6692
  const r = m.create({
6692
6693
  baseURL: de(this.instanceUrl.href, "/api/v2"),
6693
6694
  headers: typeof window < "u" && window.location.origin.includes("localhost") ? {} : { "X-Wandelbots-Client": "Wandelbots-Nova-JS-SDK" }
6694
6695
  });
6695
6696
  r.interceptors.request.use(async (s) => (s.headers.Authorization || (this.accessToken ? s.headers.Authorization = `Bearer ${this.accessToken}` : this.config.username && this.config.password && (s.headers.Authorization = `Basic ${btoa(`${e.username}:${e.password}`)}`)), s)), typeof window < "u" && r.interceptors.response.use((s) => s, async (s) => {
6696
6697
  var o, n;
6697
- if (Qe(s))
6698
+ if (He(s))
6698
6699
  if (((o = s.response) == null ? void 0 : o.status) === 401) try {
6699
6700
  if (await this.renewAuthentication(), s.config)
6700
6701
  return this.accessToken ? s.config.headers.Authorization = `Bearer ${this.accessToken}` : delete s.config.headers.Authorization, r.request(s.config);
@@ -6703,7 +6704,7 @@ var ir = class {
6703
6704
  }
6704
6705
  else ((n = s.response) == null ? void 0 : n.status) === 503 && (await fetch(window.location.href)).status === 503 && window.location.reload();
6705
6706
  return Promise.reject(s);
6706
- }), this.api = new Yt(t, {
6707
+ }), this.api = new ft(t, {
6707
6708
  ...e,
6708
6709
  basePath: de(this.instanceUrl.href, "/api/v2"),
6709
6710
  isJsonMime: (s) => s === "application/json",
@@ -6721,7 +6722,7 @@ var ir = class {
6721
6722
  this.accessToken = e;
6722
6723
  return;
6723
6724
  }
6724
- this.authPromise = rt(this.instanceUrl);
6725
+ this.authPromise = ot(this.instanceUrl);
6725
6726
  try {
6726
6727
  this.accessToken = await this.authPromise, this.accessToken ? oe.setString("wbjs.access_token", this.accessToken) : oe.delete("wbjs.access_token");
6727
6728
  } finally {
@@ -6738,10 +6739,10 @@ var ir = class {
6738
6739
  * on the returned object.
6739
6740
  */
6740
6741
  openReconnectingWebsocket(e) {
6741
- return new Xe(this.makeWebsocketURL(e), { mock: this.mock });
6742
+ return new tt(this.makeWebsocketURL(e), { mock: this.mock });
6742
6743
  }
6743
6744
  };
6744
- function pr(e) {
6745
+ function Or(e) {
6745
6746
  var n, a, l, c, i, p;
6746
6747
  const t = [
6747
6748
  ((n = e.position) == null ? void 0 : n[0]) ?? 0,
@@ -6754,7 +6755,27 @@ function pr(e) {
6754
6755
  ], s = t.map((d) => d.toFixed(1)), o = r.map((d) => d.toFixed(4));
6755
6756
  return `(${s.concat(o).join(", ")})`;
6756
6757
  }
6757
- class Zt {
6758
+ function Ce(e) {
6759
+ Je(e, []);
6760
+ }
6761
+ function Vr(e) {
6762
+ Ce(() => $e(e));
6763
+ }
6764
+ function Cr(e, t, r) {
6765
+ Ce(() => Ke(e, t, r));
6766
+ }
6767
+ function Sr(e) {
6768
+ return Ce(() => {
6769
+ let t;
6770
+ function r() {
6771
+ e(), t = requestAnimationFrame(r);
6772
+ }
6773
+ return t = requestAnimationFrame(r), () => {
6774
+ cancelAnimationFrame(t);
6775
+ };
6776
+ });
6777
+ }
6778
+ class rr {
6758
6779
  constructor(t = [], r = {}) {
6759
6780
  this.currentValues = [], this.targetValues = [], this.previousTargetValues = [], this.targetUpdateTime = 0, this.animationId = null, this.updateCount = 0, this.velocities = [], this.animate = () => {
6760
6781
  this.update(0.016666666666666666) ? this.animationId = null : this.animationId = requestAnimationFrame(this.animate);
@@ -6876,9 +6897,9 @@ class Zt {
6876
6897
  this.animationId === null && this.animate();
6877
6898
  }
6878
6899
  }
6879
- function dr(e = [], t = {}) {
6900
+ function br(e = [], t = {}) {
6880
6901
  const r = ie.useRef(null);
6881
- return r.current || (r.current = new Zt(e, t)), ie.useEffect(() => {
6902
+ return r.current || (r.current = new rr(e, t)), ie.useEffect(() => {
6882
6903
  var s;
6883
6904
  (s = r.current) == null || s.updateOptions(t);
6884
6905
  }, [t]), ie.useEffect(() => () => {
@@ -6887,13 +6908,17 @@ function dr(e = [], t = {}) {
6887
6908
  }, []), [r.current];
6888
6909
  }
6889
6910
  export {
6890
- cr as M,
6891
- ir as N,
6892
- or as P,
6893
- Zt as V,
6911
+ ur as M,
6912
+ mr as N,
6913
+ dr as P,
6914
+ rr as V,
6894
6915
  J as a,
6895
- nr as b,
6896
- pr as p,
6897
- dr as u
6916
+ hr as b,
6917
+ Vr as c,
6918
+ br as d,
6919
+ Ce as e,
6920
+ Cr as f,
6921
+ Or as p,
6922
+ Sr as u
6898
6923
  };
6899
- //# sourceMappingURL=interpolation-CZsbXLpo.js.map
6924
+ //# sourceMappingURL=interpolation-DcPbemBD.js.map