@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.
- package/dist/lib/reachy-mini.d.ts +23 -0
- package/dist/lib/reachy-mini.d.ts.map +1 -1
- package/dist/lib/reachy-mini.js +115 -4
- package/dist/lib/reachy-mini.js.map +1 -1
- package/host/dist/chunks/{reachy-mini-DCbCDwyd.js → reachy-mini-DyEhsZnc.js} +128 -77
- package/host/dist/entry/auto.js +1 -1
- package/host/dist/entry/embed.js +1 -1
- package/host/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA;;;;GAIG;AAwBH,OAAO,KAAK,EACR,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EAEjB,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,wBAAwB,EAExB,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,UAAU,EAEV,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,YAAY,CAAC;AAmBpB,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC1C,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"reachy-mini.d.ts","sourceRoot":"","sources":["../../lib/reachy-mini.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/reachy-mini.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 ||
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
216
|
-
function
|
|
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
|
|
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
|
|
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
|
|
235
|
+
return E(new Uint8Array(t));
|
|
236
236
|
}
|
|
237
|
-
function
|
|
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
|
|
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,
|
|
265
|
-
class
|
|
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 =
|
|
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
|
-
|
|
405
|
-
const e = await
|
|
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
|
|
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
|
-
|
|
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 = (
|
|
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 >
|
|
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:
|
|
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:
|
|
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:
|
|
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),
|
|
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" &&
|
|
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 >
|
|
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()), _ =
|
|
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:
|
|
1284
|
+
encoding: L(t),
|
|
1241
1285
|
description: i
|
|
1242
1286
|
});
|
|
1243
1287
|
for (let I = 0; I < b; I++) {
|
|
1244
|
-
this._dc.bufferedAmount >
|
|
1245
|
-
const
|
|
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(
|
|
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 =
|
|
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:
|
|
1352
|
+
encoding: L(e),
|
|
1309
1353
|
description: t
|
|
1310
1354
|
});
|
|
1311
1355
|
for (let l = 0; l < a; l++) {
|
|
1312
|
-
this._dc.bufferedAmount >
|
|
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 >
|
|
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.
|
|
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 =
|
|
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
|
-
|
|
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
|
|
1579
|
-
if (e.completed === !0 &&
|
|
1580
|
-
const
|
|
1581
|
-
clearTimeout(
|
|
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 &&
|
|
1585
|
-
const
|
|
1586
|
-
clearTimeout(
|
|
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
|
|
1642
|
+
for (const s of this._logSubscribers)
|
|
1592
1643
|
try {
|
|
1593
|
-
|
|
1594
|
-
} catch (
|
|
1595
|
-
console.error("subscribeLogs onLine threw:",
|
|
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
|
|
1601
|
-
if (typeof
|
|
1651
|
+
for (const s of this._logSubscribers)
|
|
1652
|
+
if (typeof s.onError == "function")
|
|
1602
1653
|
try {
|
|
1603
|
-
|
|
1604
|
-
} catch (
|
|
1605
|
-
console.error("subscribeLogs onError threw:",
|
|
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
|
|
1612
|
-
for (const
|
|
1662
|
+
const s = { status: "failed", error: e.error };
|
|
1663
|
+
for (const i of this._updateProgressSubscribers)
|
|
1613
1664
|
try {
|
|
1614
|
-
s
|
|
1615
|
-
} catch (
|
|
1616
|
-
console.error("startDaemonUpdate onProgress threw:",
|
|
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
|
|
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
|
|
1678
|
+
for (const i of this._updateProgressSubscribers)
|
|
1628
1679
|
try {
|
|
1629
|
-
s
|
|
1630
|
-
} catch (
|
|
1631
|
-
console.error("startDaemonUpdate onProgress threw:",
|
|
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
|
|
1637
|
-
|
|
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
|
|
1641
|
-
const
|
|
1642
|
-
if (
|
|
1643
|
-
this._broadcastWaiters.splice(
|
|
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
|
-
|
|
1712
|
+
Z as R
|
|
1662
1713
|
};
|
package/host/dist/entry/auto.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as i } from "../chunks/reachy-mini-
|
|
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 {
|
package/host/dist/entry/embed.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as i } from "../chunks/reachy-mini-
|
|
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 {
|
package/host/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as o } from "./chunks/reachy-mini-
|
|
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.
|
|
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",
|