@pollen-robotics/reachy-mini-sdk 1.10.0-dev.0.main.b50d97e → 1.10.0-dev.0.main.c8367cd
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/APP_CREATION_GUIDE.md +98 -0
- package/dist/lib/central-listener.d.ts +71 -0
- package/dist/lib/central-listener.d.ts.map +1 -0
- package/dist/lib/central-listener.js +277 -0
- package/dist/lib/central-listener.js.map +1 -0
- package/dist/lib/central-listener.test.d.ts +2 -0
- package/dist/lib/central-listener.test.d.ts.map +1 -0
- package/dist/lib/central-listener.test.js +378 -0
- package/dist/lib/central-listener.test.js.map +1 -0
- package/dist/lib/dc-watchdog.test.d.ts +2 -0
- package/dist/lib/dc-watchdog.test.d.ts.map +1 -0
- package/dist/lib/dc-watchdog.test.js +154 -0
- package/dist/lib/dc-watchdog.test.js.map +1 -0
- package/dist/lib/ensure-awake.test.d.ts +2 -0
- package/dist/lib/ensure-awake.test.d.ts.map +1 -0
- package/dist/lib/ensure-awake.test.js +117 -0
- package/dist/lib/ensure-awake.test.js.map +1 -0
- package/dist/lib/ice-grace.test.d.ts +2 -0
- package/dist/lib/ice-grace.test.d.ts.map +1 -0
- package/dist/lib/ice-grace.test.js +211 -0
- package/dist/lib/ice-grace.test.js.map +1 -0
- package/dist/lib/imu.test.d.ts +2 -0
- package/dist/lib/imu.test.d.ts.map +1 -0
- package/dist/lib/imu.test.js +78 -0
- package/dist/lib/imu.test.js.map +1 -0
- package/dist/lib/logger.d.ts +38 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +81 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/pending-replies.d.ts +127 -0
- package/dist/lib/pending-replies.d.ts.map +1 -0
- package/dist/lib/pending-replies.js +255 -0
- package/dist/lib/pending-replies.js.map +1 -0
- package/dist/lib/pending-replies.test.d.ts +2 -0
- package/dist/lib/pending-replies.test.d.ts.map +1 -0
- package/dist/lib/pending-replies.test.js +217 -0
- package/dist/lib/pending-replies.test.js.map +1 -0
- package/dist/lib/reachy-mini.d.ts +202 -88
- package/dist/lib/reachy-mini.d.ts.map +1 -1
- package/dist/lib/reachy-mini.js +651 -566
- package/dist/lib/reachy-mini.js.map +1 -1
- package/dist/lib/redial.test.d.ts +2 -0
- package/dist/lib/redial.test.d.ts.map +1 -0
- package/dist/lib/redial.test.js +206 -0
- package/dist/lib/redial.test.js.map +1 -0
- package/dist/lib/request.test.d.ts +2 -0
- package/dist/lib/request.test.d.ts.map +1 -0
- package/dist/lib/request.test.js +90 -0
- package/dist/lib/request.test.js.map +1 -0
- package/dist/lib/session-supervisor.d.ts +201 -0
- package/dist/lib/session-supervisor.d.ts.map +1 -0
- package/dist/lib/session-supervisor.js +520 -0
- package/dist/lib/session-supervisor.js.map +1 -0
- package/dist/lib/token-store.d.ts +50 -0
- package/dist/lib/token-store.d.ts.map +1 -0
- package/dist/lib/token-store.js +120 -0
- package/dist/lib/token-store.js.map +1 -0
- package/dist/lib/token-store.test.d.ts +2 -0
- package/dist/lib/token-store.test.d.ts.map +1 -0
- package/dist/lib/token-store.test.js +82 -0
- package/dist/lib/token-store.test.js.map +1 -0
- package/dist/lib/types.d.ts +280 -6
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/url-helpers.d.ts.map +1 -1
- package/dist/lib/url-helpers.js +3 -1
- package/dist/lib/url-helpers.js.map +1 -1
- package/dist/lib/version.d.ts +2 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +5 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/reachy-mini-sdk.d.ts +15 -1
- package/dist/reachy-mini-sdk.d.ts.map +1 -1
- package/dist/reachy-mini-sdk.js +12 -0
- package/dist/reachy-mini-sdk.js.map +1 -1
- package/host/dist/ReachyHost.d.ts.map +1 -1
- package/host/dist/chunks/centralRest-uXNMidlL.js +2315 -0
- package/host/dist/chunks/index-Beu4GNzi.js +821 -0
- package/host/dist/chunks/{mountHost-DjE5zE9R.js → mountHost-BTTF4Uu9.js} +24933 -27488
- package/host/dist/components/ConnectingView.d.ts.map +1 -1
- package/host/dist/components/DaemonUpdateGate.d.ts +65 -0
- package/host/dist/components/DaemonUpdateGate.d.ts.map +1 -0
- package/host/dist/components/ErrorView.d.ts.map +1 -1
- package/host/dist/components/HostErrorBoundary.d.ts +30 -0
- package/host/dist/components/HostErrorBoundary.d.ts.map +1 -0
- package/host/dist/components/LeavingView.d.ts.map +1 -1
- package/host/dist/components/PickerView.d.ts +16 -14
- package/host/dist/components/PickerView.d.ts.map +1 -1
- package/host/dist/components/PostOAuthSplash.d.ts +14 -9
- package/host/dist/components/PostOAuthSplash.d.ts.map +1 -1
- package/host/dist/components/ReachyHostShell.d.ts.map +1 -1
- package/host/dist/components/SignInView.d.ts.map +1 -1
- package/host/dist/components/TopBar.d.ts +5 -6
- package/host/dist/components/TopBar.d.ts.map +1 -1
- package/host/dist/components/WelcomeBackOverlay.d.ts.map +1 -1
- package/host/dist/embed/index.d.ts +68 -5
- package/host/dist/embed/index.d.ts.map +1 -1
- package/host/dist/entry/auto.js +2 -2
- package/host/dist/entry/embed.d.ts +5 -4
- package/host/dist/entry/embed.d.ts.map +1 -1
- package/host/dist/entry/embed.js +5 -4
- package/host/dist/hooks/useHostBridge.d.ts +35 -1
- package/host/dist/hooks/useHostBridge.d.ts.map +1 -1
- package/host/dist/hooks/useLatestDaemonVersion.d.ts +7 -0
- package/host/dist/hooks/useLatestDaemonVersion.d.ts.map +1 -0
- package/host/dist/hooks/useOAuth.d.ts +18 -0
- package/host/dist/hooks/useOAuth.d.ts.map +1 -1
- package/host/dist/hooks/useRobots.d.ts +0 -2
- package/host/dist/hooks/useRobots.d.ts.map +1 -1
- package/host/dist/index.d.ts +2 -2
- package/host/dist/index.d.ts.map +1 -1
- package/host/dist/index.js +11 -10
- package/host/dist/lib/daemonRelease.d.ts +84 -0
- package/host/dist/lib/daemonRelease.d.ts.map +1 -0
- package/host/dist/lib/protocol.d.ts +141 -7
- package/host/dist/lib/protocol.d.ts.map +1 -1
- package/host/dist/lib/rebootWatch.d.ts +51 -0
- package/host/dist/lib/rebootWatch.d.ts.map +1 -0
- package/host/dist/lib/sdk-types.d.ts +1 -1
- package/host/dist/lib/sdk-types.d.ts.map +1 -1
- package/host/dist/lib/sdkStaleness.d.ts +78 -0
- package/host/dist/lib/sdkStaleness.d.ts.map +1 -0
- package/host/dist/lib/settings.d.ts +16 -5
- package/host/dist/lib/settings.d.ts.map +1 -1
- package/package.json +11 -4
- package/host/dist/chunks/index-lMs2sCXG.js +0 -439
- package/host/dist/chunks/reachy-mini-CdsdQLIU.js +0 -1523
- package/host/dist/lib/centralListener.d.ts +0 -73
- package/host/dist/lib/centralListener.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectingView.d.ts","sourceRoot":"","sources":["../../src/components/ConnectingView.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B;;oCAEgC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAiBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,OAAO,GACR,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ConnectingView.d.ts","sourceRoot":"","sources":["../../src/components/ConnectingView.tsx"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC/B;;oCAEgC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAiBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,OAAO,GACR,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAmGnC;AAkED,eAAO,MAAM,qBAAqB,qBAAa,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daemon version gate for the standalone web shell. Two tiers: `block`
|
|
3
|
+
* below `MIN_SUPPORTED_DAEMON_VERSION`, a dismissable `notice` when
|
|
4
|
+
* merely behind latest - policy and rationale live in
|
|
5
|
+
* `lib/daemonRelease.ts` (and APP_CREATION_GUIDE §13.6). Web-only by
|
|
6
|
+
* construction: the mobile app points its iframe straight at the embed
|
|
7
|
+
* entry and runs its own gate, so this component is never mounted there.
|
|
8
|
+
*
|
|
9
|
+
* How an update ends
|
|
10
|
+
* ──────────────────
|
|
11
|
+
* The install finishes with a daemon restart, which kills the session.
|
|
12
|
+
* The embed reports that as `rebooting`, and from there the page has no
|
|
13
|
+
* link left to observe the robot: the shell tears the iframe down and
|
|
14
|
+
* hands us back over the picker, whose central polling tells us when
|
|
15
|
+
* the robot is online again. That is why this component never tries to
|
|
16
|
+
* resume the app itself - it returns the user to a picker that already
|
|
17
|
+
* knows how to reconnect.
|
|
18
|
+
*/
|
|
19
|
+
import type { JSX } from 'react';
|
|
20
|
+
export interface DaemonUpdateProgress {
|
|
21
|
+
status: 'in_progress' | 'rebooting' | 'done' | 'failed';
|
|
22
|
+
line?: string | null;
|
|
23
|
+
error?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface DaemonUpdateGateProps {
|
|
26
|
+
/** Daemon version the embed reported, or `null` while unknown. */
|
|
27
|
+
currentVersion: string | null;
|
|
28
|
+
/** Latest published release, or `null` when it can't be resolved. */
|
|
29
|
+
latestVersion: string | null;
|
|
30
|
+
/** Last `embed:update-progress` payload, or `null` before any. */
|
|
31
|
+
progress: DaemonUpdateProgress | null;
|
|
32
|
+
/** True once the robot we're updating is listed on central again
|
|
33
|
+
* AFTER having been seen absent at least once (the shell's
|
|
34
|
+
* offline-first reboot watch, see `lib/rebootWatch.ts` - a stale
|
|
35
|
+
* pre-reboot listing must not complete the gate). Only meaningful
|
|
36
|
+
* after the shell has torn the iframe down and resumed polling -
|
|
37
|
+
* `false` at every other point in the flow. */
|
|
38
|
+
robotBackOnline: boolean;
|
|
39
|
+
/** True once the embedded app is interactive. The soft notice waits
|
|
40
|
+
* for it so an optional offer doesn't land on top of the connecting
|
|
41
|
+
* splash; the blocking tier ignores it, since the whole point is to
|
|
42
|
+
* stop the user before the app opens. */
|
|
43
|
+
appLive: boolean;
|
|
44
|
+
/** Ask the embed to start the daemon update. */
|
|
45
|
+
onStartUpdate(): void;
|
|
46
|
+
/** The gate gave up on the update (its stall timer fired with the
|
|
47
|
+
* session still alive). The shell should relay `host:cancel-update`
|
|
48
|
+
* so the embed disarms its update-mode plumbing (sessionStopped
|
|
49
|
+
* translator + auto-reconnect stand-down) - otherwise the user's
|
|
50
|
+
* next NORMAL end-session replays a stale `rebooting` frame. */
|
|
51
|
+
onCancelUpdate?(): void;
|
|
52
|
+
/** Escape from the blocking tier: end the session and return to the
|
|
53
|
+
* picker. The block only paints AFTER `startSession()` succeeded
|
|
54
|
+
* (that's when `daemonVersion` arrives), so a live session and an
|
|
55
|
+
* awake robot sit behind the overlay - without this, closing the
|
|
56
|
+
* tab is the only way to release the app-slot lock. */
|
|
57
|
+
onExitApp?(): void;
|
|
58
|
+
/** The session is over (the daemon is restarting): drop the iframe
|
|
59
|
+
* and go back to the picker, keeping this overlay on top. */
|
|
60
|
+
onSessionLost(): void;
|
|
61
|
+
/** Dismiss the gate for the rest of this session. */
|
|
62
|
+
onDismiss(): void;
|
|
63
|
+
}
|
|
64
|
+
export declare function DaemonUpdateGate({ currentVersion, latestVersion, progress, robotBackOnline, appLive, onStartUpdate, onCancelUpdate, onExitApp, onSessionLost, onDismiss, }: DaemonUpdateGateProps): JSX.Element | null;
|
|
65
|
+
//# sourceMappingURL=DaemonUpdateGate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DaemonUpdateGate.d.ts","sourceRoot":"","sources":["../../src/components/DaemonUpdateGate.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAyCjC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACpC,kEAAkE;IAClE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kEAAkE;IAClE,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtC;;;;;oDAKgD;IAChD,eAAe,EAAE,OAAO,CAAC;IACzB;;;8CAG0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,aAAa,IAAI,IAAI,CAAC;IACtB;;;;qEAIiE;IACjE,cAAc,CAAC,IAAI,IAAI,CAAC;IACxB;;;;4DAIwD;IACxD,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB;kEAC8D;IAC9D,aAAa,IAAI,IAAI,CAAC;IACtB,qDAAqD;IACrD,SAAS,IAAI,IAAI,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,cAAc,EACd,aAAa,EACb,QAAQ,EACR,eAAe,EACf,OAAO,EACP,aAAa,EACb,cAAc,EACd,SAAS,EACT,aAAa,EACb,SAAS,GACV,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAsO5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorView.d.ts","sourceRoot":"","sources":["../../src/components/ErrorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAA8B,EAC9B,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,GACf,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"ErrorView.d.ts","sourceRoot":"","sources":["../../src/components/ErrorView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,IAAI,IAAI,CAAC;IACjB,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAA8B,EAC9B,OAAO,EACP,MAAM,EACN,QAAQ,EACR,cAAc,GACf,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAiE9B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level React error boundary for the host shell.
|
|
3
|
+
*
|
|
4
|
+
* A render-time throw anywhere in `ReachyHostShell` (a bad payload, a
|
|
5
|
+
* component bug, a null deref) would otherwise white-screen the whole
|
|
6
|
+
* host with no recovery path. This boundary catches it, logs the stack,
|
|
7
|
+
* and shows a themed fallback with a single outlined "Reload" action -
|
|
8
|
+
* a full page reload is the only safe recovery once the React tree is
|
|
9
|
+
* in an unknown state (the shell's own `error` phase can't be trusted
|
|
10
|
+
* after an uncaught render error).
|
|
11
|
+
*
|
|
12
|
+
* Mounted INSIDE the `ThemeProvider` (see `ReachyHost`) so the fallback
|
|
13
|
+
* inherits the host theme (colors, dark mode).
|
|
14
|
+
*/
|
|
15
|
+
import { Component, type ErrorInfo, type ReactNode } from 'react';
|
|
16
|
+
export interface HostErrorBoundaryProps {
|
|
17
|
+
children: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
interface HostErrorBoundaryState {
|
|
20
|
+
error: Error | null;
|
|
21
|
+
}
|
|
22
|
+
export declare class HostErrorBoundary extends Component<HostErrorBoundaryProps, HostErrorBoundaryState> {
|
|
23
|
+
state: HostErrorBoundaryState;
|
|
24
|
+
static getDerivedStateFromError(error: Error): HostErrorBoundaryState;
|
|
25
|
+
componentDidCatch(error: Error, info: ErrorInfo): void;
|
|
26
|
+
private readonly handleReload;
|
|
27
|
+
render(): ReactNode;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=HostErrorBoundary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HostErrorBoundary.d.ts","sourceRoot":"","sources":["../../src/components/HostErrorBoundary.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAWlE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,iBAAkB,SAAQ,SAAS,CAC9C,sBAAsB,EACtB,sBAAsB,CACvB;IACC,KAAK,EAAE,sBAAsB,CAAmB;IAEhD,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,sBAAsB;IAIrE,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAQtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;IAEF,MAAM,IAAI,SAAS;CAsCpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LeavingView.d.ts","sourceRoot":"","sources":["../../src/components/LeavingView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"LeavingView.d.ts","sourceRoot":"","sources":["../../src/components/LeavingView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAKjC,wBAAgB,WAAW,IAAI,GAAG,CAAC,OAAO,CA+CzC"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* ┌──────────────────────────────────────────┐
|
|
8
8
|
* │ (reachy-buste) │
|
|
9
9
|
* │ │
|
|
10
|
-
* │
|
|
11
|
-
* │ N online · linked to your HF account │
|
|
10
|
+
* │ Your Reachies ( ↻ ) │ ← discreet auto-spinner,
|
|
11
|
+
* │ N online · linked to your HF account │ right of the title
|
|
12
12
|
* │ │
|
|
13
13
|
* │ ┌────────────────────────────────┐ │
|
|
14
14
|
* │ │ [reachy] ● Name > │ │
|
|
@@ -16,24 +16,30 @@
|
|
|
16
16
|
* │ ┌────────────────────────────────┐ │
|
|
17
17
|
* │ │ [reachy] ● Other 🔒 │ │ (busy)
|
|
18
18
|
* │ └────────────────────────────────┘ │
|
|
19
|
-
* │ │
|
|
20
|
-
* │ ────────────────────────────────────────│
|
|
21
|
-
* │ ↻ Refresh │ Sticky bottom
|
|
22
19
|
* └──────────────────────────────────────────┘
|
|
23
20
|
*
|
|
24
21
|
* - Hero illustration: `reachy-buste.svg`, same asset as the
|
|
25
22
|
* splash, gives the screen a brand identity beyond the cards.
|
|
26
23
|
* - Robot cards: avatar + name + hardware-id tag + trailing
|
|
27
24
|
* chevron (or lock when busy).
|
|
28
|
-
* -
|
|
29
|
-
*
|
|
25
|
+
* - Refresh: NOT a button anymore. The list refreshes on its own
|
|
26
|
+
* (realtime SSE + a 60 s safety-net poll in `useRobots`), so the
|
|
27
|
+
* former sticky "Refresh" button was pure redundancy. Mirroring
|
|
28
|
+
* the mobile ScanScreen, it's now a discreet NON-interactive
|
|
29
|
+
* spinner to the right of the title, faded in while a fetch is
|
|
30
|
+
* in flight.
|
|
31
|
+
* - Quiet initial load: the very first fetch (no data yet) collapses
|
|
32
|
+
* the whole screen to a single centered spinner - no hero, no
|
|
33
|
+
* header - so the first paint is calm while we wait on central.
|
|
30
34
|
*/
|
|
31
35
|
import type { JSX } from 'react';
|
|
32
36
|
import type { RobotInfo } from '../lib/sdk-types';
|
|
33
37
|
export interface PickerViewProps {
|
|
34
38
|
robots: RobotInfo[];
|
|
35
|
-
/**
|
|
36
|
-
*
|
|
39
|
+
/** Any in-flight central fetch (initial load, safety-net poll, or
|
|
40
|
+
* SSE-triggered refetch). Drives the discreet auto-spinner to the
|
|
41
|
+
* right of the title; with no data yet, also the quiet initial
|
|
42
|
+
* paint (a bare centered spinner, no hero / header). */
|
|
37
43
|
isRefreshing: boolean;
|
|
38
44
|
/** Last error message from the central listener / REST fetch,
|
|
39
45
|
* or `null` if everything's healthy. Surfaces as an error state
|
|
@@ -42,10 +48,6 @@ export interface PickerViewProps {
|
|
|
42
48
|
error?: string | null;
|
|
43
49
|
preselectedRobotId: string | null;
|
|
44
50
|
onSelect(robotId: string): void;
|
|
45
|
-
/** Asks the picker source to re-fetch the robot list. Defaults
|
|
46
|
-
* to a no-op if the host has nothing to refresh; the spinner
|
|
47
|
-
* still plays for ~1 s as visual feedback. */
|
|
48
|
-
onRefresh?(): void;
|
|
49
51
|
}
|
|
50
|
-
export declare function PickerView({ robots, isRefreshing, error, preselectedRobotId, onSelect,
|
|
52
|
+
export declare function PickerView({ robots, isRefreshing, error, preselectedRobotId, onSelect, }: PickerViewProps): JSX.Element;
|
|
51
53
|
//# sourceMappingURL=PickerView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerView.d.ts","sourceRoot":"","sources":["../../src/components/PickerView.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PickerView.d.ts","sourceRoot":"","sources":["../../src/components/PickerView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAiBjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;;;6DAGyD;IACzD,YAAY,EAAE,OAAO,CAAC;IACtB;;;+BAG2B;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,QAAQ,GACT,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CA8F/B"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Covering splash
|
|
3
|
-
*
|
|
2
|
+
* Covering splash for the OAuth return leg, while the SDK resolves the
|
|
3
|
+
* cached token via `authenticate()`. Shows the HF logo and the
|
|
4
|
+
* "Signing you in…" heading: the user DID just authorise on
|
|
5
|
+
* huggingface.co, so both are promises we know we're keeping. (The
|
|
6
|
+
* plain boot leg - auth state still unknown - renders a bare neutral
|
|
7
|
+
* spinner inlined in `ReachyHostShell` instead: no OAuth branding for
|
|
8
|
+
* a user who didn't just sign in.)
|
|
4
9
|
*
|
|
5
|
-
* Without
|
|
6
|
-
* with Hugging Face" button) for the ~30-500 ms the
|
|
7
|
-
* `authenticate()` takes, so
|
|
8
|
-
*
|
|
10
|
+
* Without this splash the host would render `SignInView` (the
|
|
11
|
+
* "Continue with Hugging Face" button) for the ~30-500 ms the
|
|
12
|
+
* in-flight `authenticate()` takes, so an authenticated user would
|
|
13
|
+
* briefly bounce back to the sign-in button.
|
|
9
14
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
15
|
+
* It deliberately mirrors `WelcomeBackOverlay`'s frame (same
|
|
16
|
+
* `background.default` fill, same centred HF logo) so the transition
|
|
17
|
+
* reads as one continuous beat:
|
|
13
18
|
*
|
|
14
19
|
* PostOAuthSplash (logo + spinner, no name)
|
|
15
20
|
* → WelcomeBackOverlay ("Hello, <name>")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostOAuthSplash.d.ts","sourceRoot":"","sources":["../../src/components/PostOAuthSplash.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PostOAuthSplash.d.ts","sourceRoot":"","sources":["../../src/components/PostOAuthSplash.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAmCjC,wBAAgB,eAAe,IAAI,GAAG,CAAC,OAAO,CA2D7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReachyHostShell.d.ts","sourceRoot":"","sources":["../../src/components/ReachyHostShell.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ReachyHostShell.d.ts","sourceRoot":"","sources":["../../src/components/ReachyHostShell.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjC,OAAO,KAAK,EAAE,kBAAkB,EAAa,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAIL,KAAK,aAAa,EAGlB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAwDzB,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAE/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B;sCACkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;mEAC+D;IAC/D,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AA6DD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,GAC1B,GAAG,CAAC,OAAO,CAWb"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignInView.d.ts","sourceRoot":"","sources":["../../src/components/SignInView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAgB5C,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;uDAGmD;IACnD,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,uBAAuB,EACvB,QAAQ,GACT,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"SignInView.d.ts","sourceRoot":"","sources":["../../src/components/SignInView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAa,MAAM,OAAO,CAAC;AAgB5C,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB;;;uDAGmD;IACnD,uBAAuB,EAAE,OAAO,CAAC;IACjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,uBAAuB,EACvB,QAAQ,GACT,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAyK/B"}
|
|
@@ -9,17 +9,16 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Layout (signed in, streaming):
|
|
11
11
|
*
|
|
12
|
-
* [ logo ] Telepresence [
|
|
12
|
+
* [ logo ] Telepresence [ End session ⏻ ] [ avatar @user ▾ ]
|
|
13
13
|
*
|
|
14
14
|
* UX rationale
|
|
15
15
|
* ────────────
|
|
16
16
|
* The destructive actions are visually distinct:
|
|
17
|
-
* - "End session" is a labeled
|
|
18
|
-
* session is live. When there's no session it disappears, so the
|
|
17
|
+
* - "End session" is a labeled primary outlined button that ONLY renders
|
|
18
|
+
* while a session is live. When there's no session it disappears, so the
|
|
19
19
|
* bar isn't cluttered with a permanent disabled glyph.
|
|
20
|
-
* - "Sign out"
|
|
21
|
-
*
|
|
22
|
-
* actions" pattern, prevents accidental sign-out clicks.
|
|
20
|
+
* - "Sign out" is a primary-colored logout icon button sitting to the
|
|
21
|
+
* right of the (borderless) account chip, mirroring the mobile app.
|
|
23
22
|
*
|
|
24
23
|
* Signed-out
|
|
25
24
|
* ──────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../src/components/TopBar.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../src/components/TopBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAiBtD,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB;+CAC2C;IAC3C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B;kDAC8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;wEACoE;IACpE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;sDAEkD;IAClD,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;qEACiE;IACjE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,IAAI,IAAI,CAAC;IAClB,YAAY,IAAI,IAAI,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,UAAiB,EACjB,QAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAgB,EAChB,iBAAwB,EACxB,sBAA6B,EAC7B,SAAgB,EAChB,SAAS,EACT,YAAY,GACb,EAAE,WAAW,GAAG,GAAG,CAAC,OAAO,CA0J3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WelcomeBackOverlay.d.ts","sourceRoot":"","sources":["../../src/components/WelcomeBackOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAsCjC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,GACP,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"WelcomeBackOverlay.d.ts","sourceRoot":"","sources":["../../src/components/WelcomeBackOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAsCjC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,MAAM,GACP,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAwFvC"}
|
|
@@ -23,8 +23,9 @@
|
|
|
23
23
|
* 5. Wait for `host:init` (2 s soft timeout; on hit we proceed
|
|
24
24
|
* from the hash creds alone via `liveStateFromCreds`, which
|
|
25
25
|
* carries the same fields as `liveStateFromInit`).
|
|
26
|
-
* 6. `connect()` → `startSession()` →
|
|
27
|
-
* `embed:app-state` at each
|
|
26
|
+
* 6. `connect()` → `startSession()` → wake (awaiting the full wake-up
|
|
27
|
+
* trajectory, not fire-and-forget), emitting `embed:app-state` at each
|
|
28
|
+
* step.
|
|
28
29
|
* 7. Resolve `connectToHost()` with the live SDK handle.
|
|
29
30
|
*
|
|
30
31
|
* Strict Mode safety (APP_CREATION_GUIDE §13.5.4): the function is idempotent
|
|
@@ -115,9 +116,11 @@ export interface ConnectedHandle<TConfig = unknown> {
|
|
|
115
116
|
*/
|
|
116
117
|
readonly media: RobotMedia;
|
|
117
118
|
/** Register a teardown callback. Fires on `host:leaving`
|
|
118
|
-
* (one-shot) or `pagehide`.
|
|
119
|
-
*
|
|
120
|
-
*
|
|
119
|
+
* (one-shot) or `pagehide`. Callbacks are fire-and-forget: a
|
|
120
|
+
* returned promise is NOT awaited, but on the graceful-leave
|
|
121
|
+
* path async cleanup still gets several seconds of wall time
|
|
122
|
+
* because the `embed:left` ack only goes out after the sleep +
|
|
123
|
+
* motors-off sequence. Returns an unsubscribe function. */
|
|
121
124
|
onLeave(cb: () => void | Promise<void>): () => void;
|
|
122
125
|
/** Register a theme-change handler. */
|
|
123
126
|
onThemeChange(cb: (theme: ThemeMode) => void): () => void;
|
|
@@ -146,7 +149,67 @@ export interface ConnectToHostOptions {
|
|
|
146
149
|
* `window.location.origin` (same-origin iframe). */
|
|
147
150
|
expectedOrigin?: string;
|
|
148
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Resolved state from `connectToHostCredsOnly()`.
|
|
154
|
+
*
|
|
155
|
+
* Mirrors `ConnectedHandle` but **without** `reachy` and `media` —
|
|
156
|
+
* intended for apps that run the WebRTC session in their own backend
|
|
157
|
+
* (e.g. a Python aiortc consumer talking to central with the user's
|
|
158
|
+
* token). The handle exposes the credentials the app needs to forward
|
|
159
|
+
* (`hfToken`, `robotPeerId`, `signalingUrl`) plus the same lifecycle
|
|
160
|
+
* methods so the host shell still gets correct UX (theme/config/leave).
|
|
161
|
+
*/
|
|
162
|
+
export interface CredsOnlyHandle<TConfig = unknown> {
|
|
163
|
+
/** Short-lived HF Bearer token, forward to the backend. */
|
|
164
|
+
hfToken: string;
|
|
165
|
+
/** Robot peer id (on central) the user picked; forward to the backend. */
|
|
166
|
+
robotPeerId: string;
|
|
167
|
+
/** Central signaling URL the backend should target. */
|
|
168
|
+
signalingUrl: string;
|
|
169
|
+
/** Current theme; updated via `onThemeChange`. */
|
|
170
|
+
theme: ThemeMode;
|
|
171
|
+
/** Initial config; updates pushed via `onConfigChange`. */
|
|
172
|
+
config: TConfig | null;
|
|
173
|
+
/** App display name as passed by the host. */
|
|
174
|
+
appName: string;
|
|
175
|
+
/** Host display name. */
|
|
176
|
+
hostName: string;
|
|
177
|
+
/** HF user name when known. */
|
|
178
|
+
userName: string | null;
|
|
179
|
+
onLeave(cb: () => void | Promise<void>): () => void;
|
|
180
|
+
onThemeChange(cb: (theme: ThemeMode) => void): () => void;
|
|
181
|
+
onConfigChange(cb: (config: TConfig | null) => void): () => void;
|
|
182
|
+
setAppState(state: {
|
|
183
|
+
phase: AppPhase;
|
|
184
|
+
connectingStep?: AppConnectingStep | null;
|
|
185
|
+
message?: string | null;
|
|
186
|
+
}): void;
|
|
187
|
+
requestLeave(): void;
|
|
188
|
+
reportError(message: string, opts?: {
|
|
189
|
+
fatal?: boolean;
|
|
190
|
+
detail?: unknown;
|
|
191
|
+
}): void;
|
|
192
|
+
}
|
|
149
193
|
/** Boot the embedded app. Idempotent: calling twice returns the
|
|
150
194
|
* same in-flight promise. */
|
|
151
195
|
export declare function connectToHost<TConfig = unknown>(options?: ConnectToHostOptions): Promise<ConnectedHandle<TConfig>>;
|
|
196
|
+
/**
|
|
197
|
+
* Boot the embed in **credentials-only** mode.
|
|
198
|
+
*
|
|
199
|
+
* Identical handshake to `connectToHost()` for steps 1–6 (parse hash
|
|
200
|
+
* creds, post `embed:ready`, await `host:init`), but **skips** steps
|
|
201
|
+
* 7–8: no `new ReachyMini`, no `authenticate / connect / startSession
|
|
202
|
+
* / ensureAwake`. The returned handle exposes the credentials the app
|
|
203
|
+
* needs to forward to its own backend (`hfToken`, `robotPeerId`,
|
|
204
|
+
* `signalingUrl`) plus the standard host lifecycle methods.
|
|
205
|
+
*
|
|
206
|
+
* Use this when the WebRTC session to the robot is owned by your
|
|
207
|
+
* **backend** (e.g. a Python aiortc consumer that authenticates to
|
|
208
|
+
* central with the user's HF token). Calling `connectToHost()` from a
|
|
209
|
+
* backend-owned app would race the backend's session and central would
|
|
210
|
+
* reject one of them as "robot busy".
|
|
211
|
+
*
|
|
212
|
+
* Same idempotency guarantee: calling twice returns the same promise.
|
|
213
|
+
*/
|
|
214
|
+
export declare function connectToHostCredsOnly<TConfig = unknown>(options?: ConnectToHostOptions): Promise<CredsOnlyHandle<TConfig>>;
|
|
152
215
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embed/index.ts"],"names":[],"mappings":"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"}
|
package/host/dist/entry/auto.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as i } from "../chunks/
|
|
2
|
-
import { m as n } from "../chunks/mountHost-
|
|
1
|
+
import { R as i } from "../chunks/centralRest-uXNMidlL.js";
|
|
2
|
+
import { m as n } from "../chunks/mountHost-BTTF4Uu9.js";
|
|
3
3
|
typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHost = { mountHost: n });
|
|
4
4
|
export {
|
|
5
5
|
n as mountHost
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { connectToHost } from '../embed';
|
|
2
|
-
import type { ConnectedHandle, ConnectToHostOptions } from '../embed';
|
|
1
|
+
import { connectToHost, connectToHostCredsOnly } from '../embed';
|
|
2
|
+
import type { ConnectedHandle, ConnectToHostOptions, CredsOnlyHandle } from '../embed';
|
|
3
3
|
declare global {
|
|
4
4
|
interface Window {
|
|
5
5
|
ReachyMiniHostEmbed?: {
|
|
6
6
|
connectToHost<TConfig = unknown>(opts?: ConnectToHostOptions): Promise<ConnectedHandle<TConfig>>;
|
|
7
|
+
connectToHostCredsOnly<TConfig = unknown>(opts?: ConnectToHostOptions): Promise<CredsOnlyHandle<TConfig>>;
|
|
7
8
|
};
|
|
8
9
|
}
|
|
9
10
|
}
|
|
10
|
-
export { connectToHost };
|
|
11
|
-
export type { ConnectedHandle, ConnectToHostOptions };
|
|
11
|
+
export { connectToHost, connectToHostCredsOnly };
|
|
12
|
+
export type { ConnectedHandle, ConnectToHostOptions, CredsOnlyHandle };
|
|
12
13
|
//# sourceMappingURL=embed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/entry/embed.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/entry/embed.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,mBAAmB,CAAC,EAAE;YACpB,aAAa,CAAC,OAAO,GAAG,OAAO,EAC7B,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,sBAAsB,CAAC,OAAO,GAAG,OAAO,EACtC,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;SACtC,CAAC;KACH;CACF;AAUD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC"}
|
package/host/dist/entry/embed.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { R as i } from "../chunks/
|
|
2
|
-
import {
|
|
3
|
-
typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHostEmbed = { connectToHost: n });
|
|
1
|
+
import { R as i } from "../chunks/centralRest-uXNMidlL.js";
|
|
2
|
+
import { a as n, c as o } from "../chunks/index-Beu4GNzi.js";
|
|
3
|
+
typeof window < "u" && (window.ReachyMini || (window.ReachyMini = i, window.dispatchEvent(new Event("reachymini:ready"))), window.ReachyMiniHostEmbed = { connectToHost: o, connectToHostCredsOnly: n });
|
|
4
4
|
export {
|
|
5
|
-
|
|
5
|
+
o as connectToHost,
|
|
6
|
+
n as connectToHostCredsOnly
|
|
6
7
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppConnectingStep, AppPhase, ConfigPayload, HostInitMsg, LeavingReason, ThemeMode } from '../lib/protocol';
|
|
1
|
+
import type { AppConnectingStep, AppPhase, ConfigPayload, EmbedUpdateProgressMsg, HostInitMsg, LeavingReason, ThemeMode } from '../lib/protocol';
|
|
2
2
|
export interface EmbedAppState {
|
|
3
3
|
phase: AppPhase;
|
|
4
4
|
connectingStep: AppConnectingStep | null;
|
|
@@ -9,6 +9,16 @@ export interface EmbedAppState {
|
|
|
9
9
|
* TRUE link-latency signal available; `null` when not yet measured
|
|
10
10
|
* or unavailable (e.g. iOS WKWebView). */
|
|
11
11
|
rttMs: number | null;
|
|
12
|
+
/** Daemon version the embed read over its data channel, or `null`
|
|
13
|
+
* while unknown (not yet resolved, or a daemon predating
|
|
14
|
+
* `get_version`). The shell has no channel of its own, so this is
|
|
15
|
+
* its only version signal - see `DaemonUpdateGate`. */
|
|
16
|
+
daemonVersion: string | null;
|
|
17
|
+
/** Build version of the SDK bundle the app loaded, or `null` when
|
|
18
|
+
* the SDK predates the field (see `sdkVersion` in protocol.ts).
|
|
19
|
+
* The web shell itself has no use for it (same bundle as the
|
|
20
|
+
* embed); parsed for consumers that update independently. */
|
|
21
|
+
sdkVersion: string | null;
|
|
12
22
|
}
|
|
13
23
|
export interface UseHostBridgeOptions {
|
|
14
24
|
/** Called once per session, when the embed posts
|
|
@@ -20,6 +30,11 @@ export interface UseHostBridgeOptions {
|
|
|
20
30
|
/** App requests a clean leave (in-app button, etc.). Host
|
|
21
31
|
* should run the same tear-down as a user-initiated end. */
|
|
22
32
|
onRequestLeave(): void;
|
|
33
|
+
/** App finished its `host:leaving` tear-down (onLeave + the SDK's
|
|
34
|
+
* host-owned sleep/disable). The host can unmount now instead of
|
|
35
|
+
* waiting out its safety cap. Optional, like every additive
|
|
36
|
+
* callback: implementers outside this repo stay source-compatible. */
|
|
37
|
+
onLeft?(): void;
|
|
23
38
|
/** App reported an error. Fatal errors should switch the host
|
|
24
39
|
* to ErrorView; non-fatal can be toasted or logged. */
|
|
25
40
|
onError(payload: {
|
|
@@ -27,6 +42,16 @@ export interface UseHostBridgeOptions {
|
|
|
27
42
|
fatal: boolean;
|
|
28
43
|
detail?: unknown;
|
|
29
44
|
}): void;
|
|
45
|
+
/** Progress of a daemon update the host asked for via
|
|
46
|
+
* `sendStartUpdate`. Optional: hosts that never trigger one will
|
|
47
|
+
* never see these. */
|
|
48
|
+
onUpdateProgress?(payload: EmbedUpdateProgress): void;
|
|
49
|
+
}
|
|
50
|
+
/** Payload of an `embed:update-progress` envelope. */
|
|
51
|
+
export interface EmbedUpdateProgress {
|
|
52
|
+
status: EmbedUpdateProgressMsg['status'];
|
|
53
|
+
line: string | null;
|
|
54
|
+
error: string | null;
|
|
30
55
|
}
|
|
31
56
|
export interface HostBridge {
|
|
32
57
|
/** `host:init`. Sends credentials + initial state to the embed. */
|
|
@@ -38,6 +63,15 @@ export interface HostBridge {
|
|
|
38
63
|
/** `host:leaving`. Notify the embed to tear down. The host
|
|
39
64
|
* unmounts the iframe after `timeoutMs` regardless. */
|
|
40
65
|
sendLeaving(iframe: HTMLIFrameElement, reason: LeavingReason, timeoutMs: number): void;
|
|
66
|
+
/** `host:start-update`. Ask the embed to run the daemon's PyPI
|
|
67
|
+
* self-update on our behalf (only it holds a data channel).
|
|
68
|
+
* Fire-and-forget: an embed too old to know the message ignores it,
|
|
69
|
+
* so callers MUST have their own timeout. */
|
|
70
|
+
sendStartUpdate(iframe: HTMLIFrameElement, preRelease?: boolean): void;
|
|
71
|
+
/** `host:cancel-update`. The host gave up on the update (stall
|
|
72
|
+
* timeout): the embed should disarm its update-mode plumbing.
|
|
73
|
+
* Fire-and-forget, additive - older embeds ignore it. */
|
|
74
|
+
sendCancelUpdate(iframe: HTMLIFrameElement): void;
|
|
41
75
|
}
|
|
42
76
|
export declare function useHostBridge(opts: UseHostBridgeOptions): HostBridge;
|
|
43
77
|
//# sourceMappingURL=useHostBridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHostBridge.d.ts","sourceRoot":"","sources":["../../src/hooks/useHostBridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHostBridge.d.ts","sourceRoot":"","sources":["../../src/hooks/useHostBridge.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,iBAAiB,EACjB,QAAQ,EACR,aAAa,EAEb,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;+CAI2C;IAC3C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;4DAGwD;IACxD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;kEAG8D;IAC9D,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC;;4DAEwD;IACxD,YAAY,IAAI,IAAI,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC;iEAC6D;IAC7D,cAAc,IAAI,IAAI,CAAC;IACvB;;;2EAGuE;IACvE,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB;4DACwD;IACxD,OAAO,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E;;2BAEuB;IACvB,gBAAgB,CAAC,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACvD;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,mEAAmE;IACnE,QAAQ,CACN,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC,GACxD,IAAI,CAAC;IACR,gEAAgE;IAChE,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACpE,kEAAkE;IAClE,iBAAiB,CACf,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,GACpB,IAAI,CAAC;IACR;4DACwD;IACxD,WAAW,CACT,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC;IACR;;;kDAG8C;IAC9C,eAAe,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvE;;8DAE0D;IAC1D,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,UAAU,CA4JpE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Latest daemon version, or `null` until it resolves / when it can't be
|
|
3
|
+
* determined. Kicks off a single fetch on mount; `fetchLatestDaemonVersion`
|
|
4
|
+
* serves its localStorage cache when fresh, so this is usually instant.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useLatestDaemonVersion(): string | null;
|
|
7
|
+
//# sourceMappingURL=useLatestDaemonVersion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLatestDaemonVersion.d.ts","sourceRoot":"","sources":["../../src/hooks/useLatestDaemonVersion.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CActD"}
|
|
@@ -7,10 +7,28 @@ export interface OAuthState {
|
|
|
7
7
|
/** Boot started from an OAuth redirect (i.e. `oauth-pending`
|
|
8
8
|
* flag was set). Reset once `isAuthenticated` flips true. */
|
|
9
9
|
isPostOauthReturn: boolean;
|
|
10
|
+
/** `false` until the boot-time `authenticate()` settles (or we
|
|
11
|
+
* know synchronously there's nothing to resolve). The shell
|
|
12
|
+
* uses this to keep a neutral splash up instead of flashing
|
|
13
|
+
* `SignInView` while the cached token is still resolving. */
|
|
14
|
+
authResolved: boolean;
|
|
10
15
|
/** Async wrapper around `sdk.login()`. */
|
|
11
16
|
signIn(): Promise<void>;
|
|
12
17
|
/** Sync wrapper around `sdk.logout()` + mark signed-out. */
|
|
13
18
|
signOut(): void;
|
|
14
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* How long the boot splash may wait for the SDK bundle before giving
|
|
22
|
+
* up on auth resolution. Every path that resolves `authResolved`
|
|
23
|
+
* requires an `sdk` instance; if the bundle never loads (blocked CDN,
|
|
24
|
+
* stale Space asset, broken build) nothing would ever flip it and the
|
|
25
|
+
* shell would hold its neutral splash forever. Past this grace we
|
|
26
|
+
* declare "not signed in" so the shell lands on SignInView - with its
|
|
27
|
+
* local-dev missing-config hint, the one screen that can explain the
|
|
28
|
+
* situation. A late-arriving SDK still runs `authenticate()` and
|
|
29
|
+
* upgrades the state; the SignInView flash in that race is the
|
|
30
|
+
* accepted cost of never spinning forever.
|
|
31
|
+
*/
|
|
32
|
+
export declare const SDK_LOAD_GRACE_MS = 8000;
|
|
15
33
|
export declare function useOAuth(sdk: ReachyMiniInstance | null): OAuthState;
|
|
16
34
|
//# sourceMappingURL=useOAuth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useOAuth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useOAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useOAuth.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAgB3D,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;kEAC8D;IAC9D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;kEAG8D;IAC9D,YAAY,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,4DAA4D;IAC5D,OAAO,IAAI,IAAI,CAAC;CACjB;AAsBD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AA2BvC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,UAAU,CAyLnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRobots.d.ts","sourceRoot":"","sources":["../../src/hooks/useRobots.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useRobots.d.ts","sourceRoot":"","sources":["../../src/hooks/useRobots.ts"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,kCAAkC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB,GAAG,WAAW,CAwJd"}
|
package/host/dist/index.d.ts
CHANGED
|
@@ -17,8 +17,8 @@ export { ReachyHost } from './ReachyHost';
|
|
|
17
17
|
export type { ReachyHostProps } from './ReachyHost';
|
|
18
18
|
export { mountHost } from './mountHost';
|
|
19
19
|
export type { MountHostOptions, MountedHost } from './mountHost';
|
|
20
|
-
export { connectToHost } from './embed';
|
|
21
|
-
export type { ConnectedHandle, ConnectToHostOptions } from './embed';
|
|
20
|
+
export { connectToHost, connectToHostCredsOnly } from './embed';
|
|
21
|
+
export type { ConnectedHandle, ConnectToHostOptions, CredsOnlyHandle, } from './embed';
|
|
22
22
|
export type { AppConnectingStep, AppPhase, ConfigPayload, CredsBundle, EmbedToHostMsg, HostToEmbedMsg, LeavingReason, ThemeMode, } from './lib/protocol';
|
|
23
23
|
export { PROTOCOL_VERSION, decodeCredsFromHash, encodeCredsToHash, isProtocolMessage, } from './lib/protocol';
|
|
24
24
|
export type { ReachyMiniInstance, ReachyMiniOptions, ReachyMiniConstructor, RobotInfo, } from './lib/sdk-types';
|
package/host/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAChE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,GAChB,MAAM,SAAS,CAAC;AAIjB,YAAY,EACV,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAIxB,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,GACV,MAAM,iBAAiB,CAAC"}
|