@pollen-robotics/reachy-mini-sdk 1.10.0-dev.0.main.60dddbe → 1.10.0-dev.0.main.66c3492

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.
@@ -23,6 +23,9 @@ export declare class ReachyMini extends EventTarget implements ReachyMiniInstanc
23
23
  private _state;
24
24
  private _robots;
25
25
  private _robotState;
26
+ private _lastPoseSeq;
27
+ private _lastPoseFrameAt;
28
+ private _poseSubRefs;
26
29
  private readonly _preselectedRobotId;
27
30
  private _token;
28
31
  private _username;
@@ -291,6 +294,21 @@ export declare class ReachyMini extends EventTarget implements ReachyMiniInstanc
291
294
  sendRaw(data: unknown): boolean;
292
295
  subscribeLogs({ onLine, onError }: SubscribeLogsOptions): () => void;
293
296
  requestState(): boolean;
297
+ /**
298
+ * Ask the daemon to *push* the robot state (~30 Hz) over the dedicated
299
+ * unreliable/unordered `pose` data channel instead of polling get_state.
300
+ * Fires `state` events as frames arrive. No-op against an older daemon (no
301
+ * pose channel) - fall back to `requestState()` polling there.
302
+ *
303
+ * Refcounted: pair every `subscribePose()` with exactly one
304
+ * `unsubscribePose()`. Multiple consumers share a single daemon-side
305
+ * subscription; the daemon only stops pushing once the last one releases.
306
+ * If the channel isn't open yet (or the session later reconnects), the
307
+ * subscription is (re-)asserted from `_checkSessionReady`.
308
+ */
309
+ subscribePose(): boolean;
310
+ /** Release one pose-stream consumer; sends `unsubscribe_pose` on the last. */
311
+ unsubscribePose(): boolean;
294
312
  setAudioMuted(muted: boolean): void;
295
313
  setMicMuted(muted: boolean): void;
296
314
  attachVideo(videoElement: HTMLVideoElement): () => void;
@@ -327,6 +345,11 @@ export declare class ReachyMini extends EventTarget implements ReachyMiniInstanc
327
345
  private _handleSignalingMessage;
328
346
  private _handleEndSession;
329
347
  private _handlePeerMessage;
348
+ /**
349
+ * @param fromPoseStream Frame came from the pushed `pose` channel rather
350
+ * than the reliable control channel. Only those may refresh the state
351
+ * mirror while the stream is live (see the `data.state` branch).
352
+ */
330
353
  private _handleRobotMessage;
331
354
  /** Snap video playback to live edge if buffered lag exceeds 0.5 s. */
332
355
  private _startLatencyMonitor;
@@ -1 +1 @@
1
- {"version":3,"file":"reachy-mini.d.ts","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reachy-mini.d.ts","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,21 @@ const ICE_FAILED_GRACE_MS = 1000;
40
40
  * to be honest with the user.
41
41
  */
42
42
  const MAX_VISIBILITY_DEFER_MS = 60_000;
43
+ /**
44
+ * How long a pushed pose frame keeps the periodic `get_state` poll on hold -
45
+ * both on the way out (no request is sent) and on the way back (a reply that
46
+ * arrives anyway doesn't touch the state mirror).
47
+ *
48
+ * Poll replies carry no `seq`, so they slip past the stale-frame guard: a
49
+ * reply that crosses a fresher pushed frame would rewind the very mirror the
50
+ * stream exists to smooth. While frames flow at ~30 Hz there is nothing left
51
+ * for the poll to add, so it stands down. Keying that on frame arrival rather
52
+ * than on `_poseSubRefs` keeps the poll running against a daemon that doesn't
53
+ * know `subscribe_pose`, and brings it back on its own if the stream stalls.
54
+ * A little over one 500 ms poll period, so a couple of dropped frames don't
55
+ * flip it back and forth.
56
+ */
57
+ const POSE_STREAM_FRESH_MS = 750;
43
58
  /**
44
59
  * Fail-open ceiling for a single `_slotRoundtrip` request/response.
45
60
  * Every slot command has a strict "one reply per request" contract, so
@@ -66,6 +81,19 @@ export class ReachyMini extends EventTarget {
66
81
  _state = 'disconnected';
67
82
  _robots = [];
68
83
  _robotState = {};
84
+ // Highest `seq` seen on the unordered `pose` channel. Frames that arrive
85
+ // out of order (older seq) are dropped so a late packet can't rewind the
86
+ // live mirror. `null` until the first pose frame.
87
+ _lastPoseSeq = null;
88
+ // When the last pushed pose frame was applied, used to park the periodic
89
+ // `get_state` poll while the stream is live (see POSE_STREAM_FRESH_MS).
90
+ _lastPoseFrameAt = 0;
91
+ // Local refcount of pose-stream consumers (the 3D mirror, the wizard's
92
+ // move-end watcher, ...). The daemon's subscription is a per-peer boolean
93
+ // (not refcounted), so we only send `unsubscribe_pose` once the LAST local
94
+ // consumer releases - otherwise one consumer's cleanup would kill the
95
+ // stream for the others.
96
+ _poseSubRefs = 0;
69
97
  _preselectedRobotId;
70
98
  // ─── Auth ────────────────────────────────────────────────────────────
71
99
  _token = null;
@@ -563,7 +591,35 @@ export class ReachyMini extends EventTarget {
563
591
  }
564
592
  };
565
593
  this._pc.ondatachannel = (e) => {
566
- this._dc = e.channel;
594
+ const ch = e.channel;
595
+ // On `subscribe_pose` the daemon opens a second,
596
+ // unreliable/unordered channel labelled "pose" that *pushes*
597
+ // the robot state at ~30 Hz (see media_server
598
+ // `_setup_pose_channel`), so this can fire mid-session. It
599
+ // carries the same `{state:{...}}` envelope as a get_state
600
+ // reply, so we route it through the same handler - but it
601
+ // must NOT gate session readiness (that's the reliable
602
+ // control channel's job) nor become `_dc` (commands must
603
+ // never ride the lossy channel).
604
+ if (ch.label === 'pose') {
605
+ // Fresh channel (new session or daemon restart): the
606
+ // daemon's seq counter may have reset, so forget the old
607
+ // high-water mark or we'd drop every new frame.
608
+ this._lastPoseSeq = null;
609
+ ch.onmessage = (ev) => {
610
+ const msg = JSON.parse(ev.data);
611
+ // Drop stale/reordered frames (unordered channel).
612
+ if (typeof msg.seq === 'number') {
613
+ if (this._lastPoseSeq !== null && msg.seq <= this._lastPoseSeq)
614
+ return;
615
+ this._lastPoseSeq = msg.seq;
616
+ }
617
+ this._lastPoseFrameAt = Date.now();
618
+ this._handleRobotMessage(msg, true);
619
+ };
620
+ return;
621
+ }
622
+ this._dc = ch;
567
623
  this._dc.onopen = () => {
568
624
  this._dcOpen = true;
569
625
  this._checkSessionReady();
@@ -1328,6 +1384,30 @@ export class ReachyMini extends EventTarget {
1328
1384
  requestState() {
1329
1385
  return this._sendCommand({ type: 'get_state' });
1330
1386
  }
1387
+ /**
1388
+ * Ask the daemon to *push* the robot state (~30 Hz) over the dedicated
1389
+ * unreliable/unordered `pose` data channel instead of polling get_state.
1390
+ * Fires `state` events as frames arrive. No-op against an older daemon (no
1391
+ * pose channel) - fall back to `requestState()` polling there.
1392
+ *
1393
+ * Refcounted: pair every `subscribePose()` with exactly one
1394
+ * `unsubscribePose()`. Multiple consumers share a single daemon-side
1395
+ * subscription; the daemon only stops pushing once the last one releases.
1396
+ * If the channel isn't open yet (or the session later reconnects), the
1397
+ * subscription is (re-)asserted from `_checkSessionReady`.
1398
+ */
1399
+ subscribePose() {
1400
+ this._poseSubRefs++;
1401
+ return this._sendCommand({ type: 'subscribe_pose' });
1402
+ }
1403
+ /** Release one pose-stream consumer; sends `unsubscribe_pose` on the last. */
1404
+ unsubscribePose() {
1405
+ if (this._poseSubRefs > 0)
1406
+ this._poseSubRefs--;
1407
+ if (this._poseSubRefs > 0)
1408
+ return true; // still wanted by another consumer
1409
+ return this._sendCommand({ type: 'unsubscribe_pose' });
1410
+ }
1331
1411
  // ─── Audio ───────────────────────────────────────────────────────────
1332
1412
  setAudioMuted(muted) {
1333
1413
  this._audioMuted = muted;
@@ -1708,7 +1788,22 @@ export class ReachyMini extends EventTarget {
1708
1788
  if (this._iceConnected && this._dcOpen && this._sessionResolve) {
1709
1789
  this._state = 'streaming';
1710
1790
  this.requestState();
1711
- this._stateRefreshInterval = setInterval(() => this.requestState(), 500);
1791
+ // Re-assert a pose subscription that was requested before the data
1792
+ // channel was open, or lost on reconnect (a fresh peer starts
1793
+ // unsubscribed on the daemon). Sent raw so it doesn't touch the
1794
+ // local refcount, which already reflects the live consumer count.
1795
+ if (this._poseSubRefs > 0)
1796
+ this._sendCommand({ type: 'subscribe_pose' });
1797
+ // A fresh session has received no pose frame yet, so a timestamp
1798
+ // left over from the previous one must not hold off the poll.
1799
+ this._lastPoseFrameAt = 0;
1800
+ this._stateRefreshInterval = setInterval(() => {
1801
+ // Skip while the pose stream is already feeding state; see
1802
+ // POSE_STREAM_FRESH_MS.
1803
+ if (Date.now() - this._lastPoseFrameAt < POSE_STREAM_FRESH_MS)
1804
+ return;
1805
+ this.requestState();
1806
+ }, 500);
1712
1807
  this._emit('streaming', { sessionId: this._sessionId, robotId: this._selectedRobotId });
1713
1808
  this._sessionResolve();
1714
1809
  this._sessionResolve = null;
@@ -1852,7 +1947,12 @@ export class ReachyMini extends EventTarget {
1852
1947
  this._emit('error', { source: 'webrtc', error: e });
1853
1948
  }
1854
1949
  }
1855
- _handleRobotMessage(data) {
1950
+ /**
1951
+ * @param fromPoseStream Frame came from the pushed `pose` channel rather
1952
+ * than the reliable control channel. Only those may refresh the state
1953
+ * mirror while the stream is live (see the `data.state` branch).
1954
+ */
1955
+ _handleRobotMessage(data, fromPoseStream = false) {
1856
1956
  // JSON-RPC frames (app control surface) are handled separately from
1857
1957
  // the legacy {command|type} robot messages that share this channel.
1858
1958
  if (data.jsonrpc === '2.0') {
@@ -1993,7 +2093,18 @@ export class ReachyMini extends EventTarget {
1993
2093
  }
1994
2094
  return;
1995
2095
  }
1996
- if (data.state) {
2096
+ // Only the stream may write the mirror while the stream is live. The
2097
+ // poll stands down in that case (see POSE_STREAM_FRESH_MS), but it
2098
+ // can't unsend a request already in flight: `get_state` rides the
2099
+ // reliable channel, so its reply queues behind whatever else is on it
2100
+ // - a `upload_move_*` burst, typically - and can land hundreds of ms
2101
+ // after the snapshot it carries. Having no `seq`, it slips past the
2102
+ // stale-frame guard and rewinds every consumer to a pose from before
2103
+ // the upload, until the next pushed frame puts them back. That reads
2104
+ // as a one-frame flick to the pre-move pose right as an animation
2105
+ // starts. Nothing is lost by dropping it: pushed frames carry the same
2106
+ // fields (daemon-side `build_state_dict` feeds both).
2107
+ if (data.state && (fromPoseStream || Date.now() - this._lastPoseFrameAt >= POSE_STREAM_FRESH_MS)) {
1997
2108
  const s = data.state;
1998
2109
  if (s.head_pose)
1999
2110
  this._robotState.head = s.head_pose.flat();
@@ -1 +1 @@
1
- {"version":3,"file":"reachy-mini.js","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reachy-mini.js","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var H = Object.defineProperty, $ = (r, e, t) => e in r ? H(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, k = (r, e, t) => ($(r, typeof e != "symbol" ? e + "" : e, t), t), D = "https://huggingface.co";
1
+ var F = Object.defineProperty, $ = (r, e, t) => e in r ? F(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t, k = (r, e, t) => ($(r, typeof e != "symbol" ? e + "" : e, t), t), H = "https://huggingface.co";
2
2
  async function C(r, e) {
3
3
  var t, s;
4
4
  const i = new O(r.url, r.status, (t = r.headers.get("X-Request-Id")) != null ? t : void 0);
@@ -54,7 +54,7 @@ async function M(r) {
54
54
  }
55
55
  if (h.nonce !== a)
56
56
  throw new Error("Invalid oauth state in redirected URL");
57
- const d = D, m = `${new URL(d).origin}/.well-known/openid-configuration`, f = await fetch(m, {
57
+ const d = H, m = `${new URL(d).origin}/.well-known/openid-configuration`, f = await fetch(m, {
58
58
  headers: {
59
59
  Accept: "application/json"
60
60
  }
@@ -109,7 +109,7 @@ async function M(r) {
109
109
  scope: g.scope
110
110
  };
111
111
  }
112
- async function F(r) {
112
+ async function V(r) {
113
113
  if (typeof window > "u")
114
114
  throw new Error("oauthHandleRedirect is only available in the browser");
115
115
  const e = new URLSearchParams(window.location.search);
@@ -117,11 +117,11 @@ async function F(r) {
117
117
  "Missing oauth nonce from localStorage. This can happen when the user refreshes the page after logging in, without changing the URL."
118
118
  ), !1) : !1;
119
119
  }
120
- async function V(r) {
120
+ async function B(r) {
121
121
  var e, t;
122
122
  if (typeof window > "u")
123
123
  throw new Error("oauthLogin is only available in the browser");
124
- const s = r?.hubUrl || D, i = `${new URL(s).origin}/.well-known/openid-configuration`, o = await fetch(i, {
124
+ const s = r?.hubUrl || H, i = `${new URL(s).origin}/.well-known/openid-configuration`, o = await fetch(i, {
125
125
  headers: {
126
126
  Accept: "application/json"
127
127
  }
@@ -153,7 +153,7 @@ async function V(r) {
153
153
  function R(r) {
154
154
  return r * Math.PI / 180;
155
155
  }
156
- function B(r, e, t) {
156
+ function G(r, e, t) {
157
157
  const s = R(r), i = R(e), o = R(t), n = Math.cos(o), a = Math.sin(o), l = Math.cos(i), c = Math.sin(i), h = Math.cos(s), d = Math.sin(s);
158
158
  return [
159
159
  [n * l, n * c * d - a * h, n * c * h + a * d, 0],
@@ -162,7 +162,7 @@ function B(r, e, t) {
162
162
  [0, 0, 0, 1]
163
163
  ];
164
164
  }
165
- function G() {
165
+ function q() {
166
166
  if (typeof window > "u" || !window.location.hash) return;
167
167
  const r = window.location.hash.startsWith("#") ? window.location.hash.slice(1) : window.location.hash;
168
168
  let e;
@@ -186,7 +186,7 @@ function G() {
186
186
  } catch {
187
187
  }
188
188
  }
189
- function q() {
189
+ function W() {
190
190
  if (typeof window > "u") return null;
191
191
  if (window.location.hash) {
192
192
  const r = window.location.hash.startsWith("#") ? window.location.hash.slice(1) : window.location.hash;
@@ -204,7 +204,7 @@ function q() {
204
204
  }
205
205
  return null;
206
206
  }
207
- function W(r) {
207
+ function z(r) {
208
208
  const e = r.split(`\r
209
209
  `);
210
210
  let t = !1;
@@ -212,14 +212,14 @@ function W(r) {
212
212
  if (s.startsWith("m=audio") ? t = !0 : s.startsWith("m=") && (t = !1), t && s === "a=sendrecv") return !0;
213
213
  return !1;
214
214
  }
215
- const v = 12 * 1024, E = 1 * 1024 * 1024, z = 512 * 1024;
216
- function J() {
215
+ const v = 12 * 1024, A = 1 * 1024 * 1024, J = 512 * 1024;
216
+ function X() {
217
217
  return typeof CompressionStream < "u";
218
218
  }
219
219
  function U() {
220
220
  return "u" + Math.random().toString(36).slice(2, 11) + Date.now().toString(36);
221
221
  }
222
- function T(r) {
222
+ function E(r) {
223
223
  let e = "";
224
224
  for (let s = 0; s < r.length; s += 32768)
225
225
  e += String.fromCharCode.apply(
@@ -228,17 +228,17 @@ function T(r) {
228
228
  );
229
229
  return btoa(e);
230
230
  }
231
- async function X(r) {
231
+ async function Y(r) {
232
232
  const e = new TextEncoder().encode(r), t = await new Response(
233
233
  new Blob([e]).stream().pipeThrough(new CompressionStream("gzip"))
234
234
  ).arrayBuffer();
235
- return T(new Uint8Array(t));
235
+ return E(new Uint8Array(t));
236
236
  }
237
- function L(r) {
237
+ function P(r) {
238
238
  const e = Math.round(Number(r) || 0);
239
239
  return Math.max(0, Math.min(100, e));
240
240
  }
241
- function P(r) {
241
+ function L(r) {
242
242
  switch ((r.type || "").toLowerCase().split(";")[0]?.trim() ?? "") {
243
243
  case "audio/ogg":
244
244
  case "application/ogg":
@@ -261,8 +261,8 @@ function P(r) {
261
261
  return "wav-base64";
262
262
  }
263
263
  }
264
- const j = 3e3, N = 1e3, Y = 6e4, K = 4e3;
265
- class Q extends EventTarget {
264
+ const j = 3e3, N = 1e3, K = 6e4, D = 750, Q = 4e3;
265
+ class Z extends EventTarget {
266
266
  // ─── Config ──────────────────────────────────────────────────────────
267
267
  _signalingUrl;
268
268
  _clientId;
@@ -274,6 +274,19 @@ class Q extends EventTarget {
274
274
  _state = "disconnected";
275
275
  _robots = [];
276
276
  _robotState = {};
277
+ // Highest `seq` seen on the unordered `pose` channel. Frames that arrive
278
+ // out of order (older seq) are dropped so a late packet can't rewind the
279
+ // live mirror. `null` until the first pose frame.
280
+ _lastPoseSeq = null;
281
+ // When the last pushed pose frame was applied, used to park the periodic
282
+ // `get_state` poll while the stream is live (see POSE_STREAM_FRESH_MS).
283
+ _lastPoseFrameAt = 0;
284
+ // Local refcount of pose-stream consumers (the 3D mirror, the wizard's
285
+ // move-end watcher, ...). The daemon's subscription is a per-peer boolean
286
+ // (not refcounted), so we only send `unsubscribe_pose` once the LAST local
287
+ // consumer releases - otherwise one consumer's cleanup would kill the
288
+ // stream for the others.
289
+ _poseSubRefs = 0;
277
290
  _preselectedRobotId;
278
291
  // ─── Auth ────────────────────────────────────────────────────────────
279
292
  _token = null;
@@ -349,7 +362,7 @@ class Q extends EventTarget {
349
362
  // ─── Video element ───────────────────────────────────────────────────
350
363
  _videoElement = null;
351
364
  constructor(e = {}) {
352
- super(), this._signalingUrl = e.signalingUrl || "https://pollen-robotics-reachy-mini-central.hf.space", this._clientId = e.clientId || null, this._appName = e.appName || "unknown", this._videoJitterBufferTargetMs = e.videoJitterBufferTargetMs ?? 0, this._autoStartFromUrl = e.autoStartFromUrl === !0, this._autoStartAttempted = !1, this._preselectedRobotId = q();
365
+ super(), this._signalingUrl = e.signalingUrl || "https://pollen-robotics-reachy-mini-central.hf.space", this._clientId = e.clientId || null, this._appName = e.appName || "unknown", this._videoJitterBufferTargetMs = e.videoJitterBufferTargetMs ?? 0, this._autoStartFromUrl = e.autoStartFromUrl === !0, this._autoStartAttempted = !1, this._preselectedRobotId = W();
353
366
  }
354
367
  // ─── Read-only properties ────────────────────────────────────────────
355
368
  get state() {
@@ -401,8 +414,8 @@ class Q extends EventTarget {
401
414
  // ─── Auth ────────────────────────────────────────────────────────────
402
415
  async authenticate() {
403
416
  try {
404
- G();
405
- const e = await F();
417
+ q();
418
+ const e = await V();
406
419
  if (e)
407
420
  return this._username = e.userInfo.preferred_username || e.userInfo.name || null, this._token = e.accessToken, this._tokenExpires = e.accessTokenExpiresAt, sessionStorage.setItem("hf_token", this._token), sessionStorage.setItem("hf_username", this._username ?? ""), sessionStorage.setItem(
408
421
  "hf_token_expires",
@@ -416,7 +429,7 @@ class Q extends EventTarget {
416
429
  }
417
430
  async login() {
418
431
  const e = {};
419
- this._clientId && (e.clientId = this._clientId), window.location.href = await V(e);
432
+ this._clientId && (e.clientId = this._clientId), window.location.href = await B(e);
420
433
  }
421
434
  logout() {
422
435
  sessionStorage.removeItem("hf_token"), sessionStorage.removeItem("hf_username"), sessionStorage.removeItem("hf_token_expires"), this._username = null, this._tokenExpires = null, this.disconnect();
@@ -635,9 +648,21 @@ class Q extends EventTarget {
635
648
  }
636
649
  }
637
650
  }, this._pc.ondatachannel = (i) => {
638
- this._dc = i.channel, this._dc.onopen = () => {
651
+ const o = i.channel;
652
+ if (o.label === "pose") {
653
+ this._lastPoseSeq = null, o.onmessage = (n) => {
654
+ const a = JSON.parse(n.data);
655
+ if (typeof a.seq == "number") {
656
+ if (this._lastPoseSeq !== null && a.seq <= this._lastPoseSeq) return;
657
+ this._lastPoseSeq = a.seq;
658
+ }
659
+ this._lastPoseFrameAt = Date.now(), this._handleRobotMessage(a, !0);
660
+ };
661
+ return;
662
+ }
663
+ this._dc = o, this._dc.onopen = () => {
639
664
  this._dcOpen = !0, this._checkSessionReady();
640
- }, this._dc.onmessage = (o) => this._handleRobotMessage(JSON.parse(o.data));
665
+ }, this._dc.onmessage = (n) => this._handleRobotMessage(JSON.parse(n.data));
641
666
  }, this._sendToServer({ type: "startSession", peerId: e }).then((i) => {
642
667
  if (i?.type === "sessionRejected") {
643
668
  this._failSessionRejected(i);
@@ -725,7 +750,7 @@ class Q extends EventTarget {
725
750
  if (typeof document < "u" && document.hidden || (document.removeEventListener("visibilitychange", t), this._pendingVisibilityHandler = null, !this._pc)) return;
726
751
  const s = this._pc.iceConnectionState;
727
752
  if (!(s === "connected" || s === "completed")) {
728
- if (Date.now() - e > Y) {
753
+ if (Date.now() - e > K) {
729
754
  const i = new Error(
730
755
  "Session expired while tab was backgrounded"
731
756
  );
@@ -881,7 +906,7 @@ class Q extends EventTarget {
881
906
  return o.duration = i, this._sendCommand(o);
882
907
  }
883
908
  setHeadRpyDeg(e, t, s) {
884
- return this.setTarget({ head: B(e, t, s).flat() });
909
+ return this.setTarget({ head: G(e, t, s).flat() });
885
910
  }
886
911
  setAntennasDeg(e, t) {
887
912
  return this.setTarget({ antennas: [R(e), R(t)] });
@@ -1014,7 +1039,7 @@ class Q extends EventTarget {
1014
1039
  (t) => {
1015
1040
  this._volumeResolve = t;
1016
1041
  },
1017
- { type: "set_volume", volume: L(e) }
1042
+ { type: "set_volume", volume: P(e) }
1018
1043
  );
1019
1044
  }
1020
1045
  getMicrophoneVolume() {
@@ -1032,7 +1057,7 @@ class Q extends EventTarget {
1032
1057
  (t) => {
1033
1058
  this._micVolumeResolve = t;
1034
1059
  },
1035
- { type: "set_microphone_volume", volume: L(e) }
1060
+ { type: "set_microphone_volume", volume: P(e) }
1036
1061
  );
1037
1062
  }
1038
1063
  /**
@@ -1134,7 +1159,7 @@ class Q extends EventTarget {
1134
1159
  const l = (c) => {
1135
1160
  a !== void 0 && (clearTimeout(a), a = void 0), e() === l && t(null), i(c);
1136
1161
  };
1137
- t(l), a = setTimeout(() => l(null), K), this._sendCommand(s);
1162
+ t(l), a = setTimeout(() => l(null), Q), this._sendCommand(s);
1138
1163
  });
1139
1164
  }
1140
1165
  sendRaw(e) {
@@ -1153,6 +1178,25 @@ class Q extends EventTarget {
1153
1178
  requestState() {
1154
1179
  return this._sendCommand({ type: "get_state" });
1155
1180
  }
1181
+ /**
1182
+ * Ask the daemon to *push* the robot state (~30 Hz) over the dedicated
1183
+ * unreliable/unordered `pose` data channel instead of polling get_state.
1184
+ * Fires `state` events as frames arrive. No-op against an older daemon (no
1185
+ * pose channel) - fall back to `requestState()` polling there.
1186
+ *
1187
+ * Refcounted: pair every `subscribePose()` with exactly one
1188
+ * `unsubscribePose()`. Multiple consumers share a single daemon-side
1189
+ * subscription; the daemon only stops pushing once the last one releases.
1190
+ * If the channel isn't open yet (or the session later reconnects), the
1191
+ * subscription is (re-)asserted from `_checkSessionReady`.
1192
+ */
1193
+ subscribePose() {
1194
+ return this._poseSubRefs++, this._sendCommand({ type: "subscribe_pose" });
1195
+ }
1196
+ /** Release one pose-stream consumer; sends `unsubscribe_pose` on the last. */
1197
+ unsubscribePose() {
1198
+ return this._poseSubRefs > 0 && this._poseSubRefs--, this._poseSubRefs > 0 ? !0 : this._sendCommand({ type: "unsubscribe_pose" });
1199
+ }
1156
1200
  // ─── Audio ───────────────────────────────────────────────────────────
1157
1201
  setAudioMuted(e) {
1158
1202
  this._audioMuted = e, this._videoElement && (this._videoElement.muted = e);
@@ -1201,7 +1245,7 @@ class Q extends EventTarget {
1201
1245
  set_target_data: e.set_target_data
1202
1246
  }, f = JSON.stringify(m);
1203
1247
  let p, y;
1204
- o === "gzip+base64" && J() ? (p = await X(f), y = "gzip+base64") : (p = f, y = "json");
1248
+ o === "gzip+base64" && X() ? (p = await Y(f), y = "gzip+base64") : (p = f, y = "json");
1205
1249
  const g = Math.ceil(p.length / v) || 1;
1206
1250
  c({
1207
1251
  phase: "starting",
@@ -1217,7 +1261,7 @@ class Q extends EventTarget {
1217
1261
  encoding: y
1218
1262
  });
1219
1263
  for (let u = 0; u < g; u++) {
1220
- this._dc.bufferedAmount > E && await this._awaitDataChannelDrain();
1264
+ this._dc.bufferedAmount > A && await this._awaitDataChannelDrain();
1221
1265
  const _ = u * v;
1222
1266
  this._sendCommand({
1223
1267
  type: "upload_move_chunk",
@@ -1227,7 +1271,7 @@ class Q extends EventTarget {
1227
1271
  }), c({ phase: "upload", sent: u + 1, total: g });
1228
1272
  }
1229
1273
  if (this._sendCommand({ type: "upload_move_finish", upload_id: d }), c({ phase: "uploaded", sent: g, total: g }), t) {
1230
- const u = new Uint8Array(await t.arrayBuffer()), _ = T(u), b = Math.ceil(_.length / v) || 1;
1274
+ const u = new Uint8Array(await t.arrayBuffer()), _ = E(u), b = Math.ceil(_.length / v) || 1;
1231
1275
  c({
1232
1276
  phase: "audio-starting",
1233
1277
  sent: 0,
@@ -1237,17 +1281,17 @@ class Q extends EventTarget {
1237
1281
  type: "upload_audio_start",
1238
1282
  upload_id: d,
1239
1283
  total_chunks: b,
1240
- encoding: P(t),
1284
+ encoding: L(t),
1241
1285
  description: i
1242
1286
  });
1243
1287
  for (let I = 0; I < b; I++) {
1244
- this._dc.bufferedAmount > E && await this._awaitDataChannelDrain();
1245
- const A = I * v;
1288
+ this._dc.bufferedAmount > A && await this._awaitDataChannelDrain();
1289
+ const T = I * v;
1246
1290
  this._sendCommand({
1247
1291
  type: "upload_audio_chunk",
1248
1292
  upload_id: d,
1249
1293
  chunk_index: I,
1250
- chunk: _.slice(A, A + v)
1294
+ chunk: _.slice(T, T + v)
1251
1295
  }), c({ phase: "audio-upload", sent: I + 1, total: b });
1252
1296
  }
1253
1297
  this._sendCommand({ type: "upload_audio_finish", upload_id: d }), c({ phase: "audio-uploaded", sent: b, total: b });
@@ -1300,16 +1344,16 @@ class Q extends EventTarget {
1300
1344
  throw new Error("data channel not open");
1301
1345
  if (!(e instanceof Blob))
1302
1346
  throw new TypeError("uploadAudio: expected a Blob");
1303
- const i = U(), o = new Uint8Array(await e.arrayBuffer()), n = T(o), a = Math.ceil(n.length / v) || 1;
1347
+ const i = U(), o = new Uint8Array(await e.arrayBuffer()), n = E(o), a = Math.ceil(n.length / v) || 1;
1304
1348
  s({ phase: "audio-starting", sent: 0, total: a, bytes: n.length }), this._sendCommand({
1305
1349
  type: "upload_audio_start",
1306
1350
  upload_id: i,
1307
1351
  total_chunks: a,
1308
- encoding: P(e),
1352
+ encoding: L(e),
1309
1353
  description: t
1310
1354
  });
1311
1355
  for (let l = 0; l < a; l++) {
1312
- this._dc.bufferedAmount > E && await this._awaitDataChannelDrain();
1356
+ this._dc.bufferedAmount > A && await this._awaitDataChannelDrain();
1313
1357
  const c = l * v;
1314
1358
  this._sendCommand({
1315
1359
  type: "upload_audio_chunk",
@@ -1354,7 +1398,7 @@ class Q extends EventTarget {
1354
1398
  });
1355
1399
  }
1356
1400
  async _awaitDataChannelDrain() {
1357
- for (; this._dc && this._dc.bufferedAmount > z; )
1401
+ for (; this._dc && this._dc.bufferedAmount > J; )
1358
1402
  if (await new Promise((e) => setTimeout(e, 30)), !this._dc || this._dc.readyState !== "open")
1359
1403
  throw new Error("data channel closed mid-upload");
1360
1404
  }
@@ -1444,7 +1488,9 @@ class Q extends EventTarget {
1444
1488
  }
1445
1489
  }
1446
1490
  _checkSessionReady() {
1447
- this._iceConnected && this._dcOpen && this._sessionResolve && (this._state = "streaming", this.requestState(), this._stateRefreshInterval = setInterval(() => this.requestState(), 500), this._emit("streaming", { sessionId: this._sessionId, robotId: this._selectedRobotId }), this._sessionResolve(), this._sessionResolve = null, this._sessionReject = null);
1491
+ this._iceConnected && this._dcOpen && this._sessionResolve && (this._state = "streaming", this.requestState(), this._poseSubRefs > 0 && this._sendCommand({ type: "subscribe_pose" }), this._lastPoseFrameAt = 0, this._stateRefreshInterval = setInterval(() => {
1492
+ Date.now() - this._lastPoseFrameAt < D || this.requestState();
1493
+ }, 500), this._emit("streaming", { sessionId: this._sessionId, robotId: this._selectedRobotId }), this._sessionResolve(), this._sessionResolve = null, this._sessionReject = null);
1448
1494
  }
1449
1495
  async _handleSignalingMessage(e) {
1450
1496
  switch (e.type) {
@@ -1495,7 +1541,7 @@ class Q extends EventTarget {
1495
1541
  if (e.sdp) {
1496
1542
  const t = e.sdp;
1497
1543
  if (t.type === "offer") {
1498
- const i = W(t.sdp);
1544
+ const i = z(t.sdp);
1499
1545
  if (this._micSupported = i, this._emit("micSupported", { supported: i }), i && this._micStream)
1500
1546
  for (const n of this._micStream.getAudioTracks())
1501
1547
  this._pc.addTrack(n, this._micStream);
@@ -1527,7 +1573,12 @@ class Q extends EventTarget {
1527
1573
  console.error("WebRTC error:", t), this._emit("error", { source: "webrtc", error: t });
1528
1574
  }
1529
1575
  }
1530
- _handleRobotMessage(e) {
1576
+ /**
1577
+ * @param fromPoseStream Frame came from the pushed `pose` channel rather
1578
+ * than the reliable control channel. Only those may refresh the state
1579
+ * mirror while the stream is live (see the `data.state` branch).
1580
+ */
1581
+ _handleRobotMessage(e, t = !1) {
1531
1582
  if (e.jsonrpc === "2.0") {
1532
1583
  this._handleRpcMessage(e);
1533
1584
  return;
@@ -1575,72 +1626,72 @@ class Q extends EventTarget {
1575
1626
  return;
1576
1627
  }
1577
1628
  if ((e.command === "wake_up" || e.command === "goto_sleep") && this._pendingMotionCompletions && this._pendingMotionCompletions[e.command]) {
1578
- const t = this._pendingMotionCompletions[e.command];
1579
- if (e.completed === !0 && t.length > 0) {
1580
- const s = t.shift();
1581
- clearTimeout(s.timer), s.resolve();
1629
+ const s = this._pendingMotionCompletions[e.command];
1630
+ if (e.completed === !0 && s.length > 0) {
1631
+ const i = s.shift();
1632
+ clearTimeout(i.timer), i.resolve();
1582
1633
  return;
1583
1634
  }
1584
- if (e.error && t.length > 0) {
1585
- const s = t.shift();
1586
- clearTimeout(s.timer), s.reject(new Error(`${e.command}: ${e.error}`));
1635
+ if (e.error && s.length > 0) {
1636
+ const i = s.shift();
1637
+ clearTimeout(i.timer), i.reject(new Error(`${e.command}: ${e.error}`));
1587
1638
  return;
1588
1639
  }
1589
1640
  }
1590
1641
  if (e.type === "log_line") {
1591
- for (const t of this._logSubscribers)
1642
+ for (const s of this._logSubscribers)
1592
1643
  try {
1593
- t.onLine({ timestamp: e.timestamp, line: e.line });
1594
- } catch (s) {
1595
- console.error("subscribeLogs onLine threw:", s);
1644
+ s.onLine({ timestamp: e.timestamp, line: e.line });
1645
+ } catch (i) {
1646
+ console.error("subscribeLogs onLine threw:", i);
1596
1647
  }
1597
1648
  return;
1598
1649
  }
1599
1650
  if (e.type === "log_stream_error") {
1600
- for (const t of this._logSubscribers)
1601
- if (typeof t.onError == "function")
1651
+ for (const s of this._logSubscribers)
1652
+ if (typeof s.onError == "function")
1602
1653
  try {
1603
- t.onError(e.error);
1604
- } catch (s) {
1605
- console.error("subscribeLogs onError threw:", s);
1654
+ s.onError(e.error);
1655
+ } catch (i) {
1656
+ console.error("subscribeLogs onError threw:", i);
1606
1657
  }
1607
1658
  return;
1608
1659
  }
1609
1660
  if (e.command === "start_update") {
1610
1661
  if (typeof e.error == "string") {
1611
- const t = { status: "failed", error: e.error };
1612
- for (const s of this._updateProgressSubscribers)
1662
+ const s = { status: "failed", error: e.error };
1663
+ for (const i of this._updateProgressSubscribers)
1613
1664
  try {
1614
- s(t);
1615
- } catch (i) {
1616
- console.error("startDaemonUpdate onProgress threw:", i);
1665
+ i(s);
1666
+ } catch (o) {
1667
+ console.error("startDaemonUpdate onProgress threw:", o);
1617
1668
  }
1618
1669
  }
1619
1670
  return;
1620
1671
  }
1621
1672
  if (e.type === "update_progress") {
1622
- const t = {
1673
+ const s = {
1623
1674
  status: e.status,
1624
1675
  line: typeof e.line == "string" ? e.line : void 0,
1625
1676
  error: typeof e.error == "string" ? e.error : void 0
1626
1677
  };
1627
- for (const s of this._updateProgressSubscribers)
1678
+ for (const i of this._updateProgressSubscribers)
1628
1679
  try {
1629
- s(t);
1630
- } catch (i) {
1631
- console.error("startDaemonUpdate onProgress threw:", i);
1680
+ i(s);
1681
+ } catch (o) {
1682
+ console.error("startDaemonUpdate onProgress threw:", o);
1632
1683
  }
1633
1684
  return;
1634
1685
  }
1635
- if (e.state) {
1636
- const t = e.state;
1637
- t.head_pose && (this._robotState.head = t.head_pose.flat()), t.antennas && (this._robotState.antennas = [t.antennas[0], t.antennas[1]]), typeof t.body_yaw == "number" && (this._robotState.body_yaw = t.body_yaw), t.motor_mode && (this._robotState.motor_mode = t.motor_mode), typeof t.is_move_running == "boolean" && (this._robotState.is_move_running = t.is_move_running), t.face_target && (this._robotState.face_target = t.face_target), this._emit("state", { ...this._robotState });
1686
+ if (e.state && (t || Date.now() - this._lastPoseFrameAt >= D)) {
1687
+ const s = e.state;
1688
+ s.head_pose && (this._robotState.head = s.head_pose.flat()), s.antennas && (this._robotState.antennas = [s.antennas[0], s.antennas[1]]), typeof s.body_yaw == "number" && (this._robotState.body_yaw = s.body_yaw), s.motor_mode && (this._robotState.motor_mode = s.motor_mode), typeof s.is_move_running == "boolean" && (this._robotState.is_move_running = s.is_move_running), s.face_target && (this._robotState.face_target = s.face_target), this._emit("state", { ...this._robotState });
1638
1689
  }
1639
1690
  if (e.error && this._emit("error", { source: "robot", error: e.error }), this._broadcastWaiters.length > 0)
1640
- for (let t = this._broadcastWaiters.length - 1; t >= 0; t--) {
1641
- const s = this._broadcastWaiters[t];
1642
- if (s.predicate(e)) {
1643
- this._broadcastWaiters.splice(t, 1), clearTimeout(s.timer), s.resolve(e);
1691
+ for (let s = this._broadcastWaiters.length - 1; s >= 0; s--) {
1692
+ const i = this._broadcastWaiters[s];
1693
+ if (i.predicate(e)) {
1694
+ this._broadcastWaiters.splice(s, 1), clearTimeout(i.timer), i.resolve(e);
1644
1695
  return;
1645
1696
  }
1646
1697
  }
@@ -1658,5 +1709,5 @@ class Q extends EventTarget {
1658
1709
  }
1659
1710
  }
1660
1711
  export {
1661
- Q as R
1712
+ Z as R
1662
1713
  };
@@ -1,4 +1,4 @@
1
- import { R as i } from "../chunks/reachy-mini-DCbCDwyd.js";
1
+ import { R as i } from "../chunks/reachy-mini-DyEhsZnc.js";
2
2
  import { m as n } from "../chunks/mountHost-DztGlWwu.js";
3
3
  typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHost = { mountHost: n });
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { R as i } from "../chunks/reachy-mini-DCbCDwyd.js";
1
+ import { R as i } from "../chunks/reachy-mini-DyEhsZnc.js";
2
2
  import { c as n } from "../chunks/index-lMs2sCXG.js";
3
3
  typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHostEmbed = { connectToHost: n });
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { R as o } from "./chunks/reachy-mini-DCbCDwyd.js";
1
+ import { R as o } from "./chunks/reachy-mini-DyEhsZnc.js";
2
2
  import { R as s, m as a } from "./chunks/mountHost-DztGlWwu.js";
3
3
  import { c as t } from "./chunks/index-lMs2sCXG.js";
4
4
  import { PROTOCOL_VERSION as c, decodeCredsFromHash as m, encodeCredsToHash as w, isProtocolMessage as h } from "./lib/protocol.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pollen-robotics/reachy-mini-sdk",
3
- "version": "1.10.0-dev.0.main.60dddbe",
3
+ "version": "1.10.0-dev.0.main.66c3492",
4
4
  "description": "Browser SDK for controlling a Reachy Mini robot over WebRTC, plus an optional Hugging Face Spaces host shell (OAuth + robot picker + iframe bridge) exposed via the ./host subpath.",
5
5
  "type": "module",
6
6
  "main": "./dist/reachy-mini-sdk.js",