@glassly/miniapp 0.3.0-dev.2 → 0.3.0-dev.460
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +219 -74
- package/dist/background/index.d.ts +14 -8
- package/dist/background/index.d.ts.map +1 -1
- package/dist/background/index.js +4 -0
- package/dist/background/index.js.map +1 -1
- package/dist/background/register.d.ts +1 -1
- package/dist/background/register.js +1 -1
- package/dist/display/index.d.ts +23 -0
- package/dist/display/index.d.ts.map +1 -0
- package/dist/display/index.js +17 -0
- package/dist/display/index.js.map +1 -0
- package/dist/display/measurer/TextMeasurer.d.ts +160 -0
- package/dist/display/measurer/TextMeasurer.d.ts.map +1 -0
- package/dist/display/measurer/TextMeasurer.js +272 -0
- package/dist/display/measurer/TextMeasurer.js.map +1 -0
- package/dist/display/measurer/index.d.ts +10 -0
- package/dist/display/measurer/index.d.ts.map +1 -0
- package/dist/display/measurer/index.js +11 -0
- package/dist/display/measurer/index.js.map +1 -0
- package/dist/display/measurer/script-detection.d.ts +53 -0
- package/dist/display/measurer/script-detection.d.ts.map +1 -0
- package/dist/display/measurer/script-detection.js +184 -0
- package/dist/display/measurer/script-detection.js.map +1 -0
- package/dist/display/pixelArt.d.ts +22 -0
- package/dist/display/pixelArt.d.ts.map +1 -0
- package/dist/display/pixelArt.js +126 -0
- package/dist/display/pixelArt.js.map +1 -0
- package/dist/display/profiles/g1.d.ts +33 -0
- package/dist/display/profiles/g1.d.ts.map +1 -0
- package/dist/display/profiles/g1.js +214 -0
- package/dist/display/profiles/g1.js.map +1 -0
- package/dist/display/profiles/g2.d.ts +13 -0
- package/dist/display/profiles/g2.d.ts.map +1 -0
- package/dist/display/profiles/g2.js +34 -0
- package/dist/display/profiles/g2.js.map +1 -0
- package/dist/display/profiles/index.d.ts +12 -0
- package/dist/display/profiles/index.d.ts.map +1 -0
- package/dist/display/profiles/index.js +15 -0
- package/dist/display/profiles/index.js.map +1 -0
- package/dist/display/profiles/nex.d.ts +10 -0
- package/dist/display/profiles/nex.d.ts.map +1 -0
- package/dist/display/profiles/nex.js +150 -0
- package/dist/display/profiles/nex.js.map +1 -0
- package/dist/display/profiles/types.d.ts +103 -0
- package/dist/display/profiles/types.d.ts.map +1 -0
- package/dist/display/profiles/types.js +2 -0
- package/dist/display/profiles/types.js.map +1 -0
- package/dist/display/profiles/z100.d.ts +33 -0
- package/dist/display/profiles/z100.d.ts.map +1 -0
- package/dist/display/profiles/z100.js +182 -0
- package/dist/display/profiles/z100.js.map +1 -0
- package/dist/display/scene/types.d.ts +292 -0
- package/dist/display/scene/types.d.ts.map +1 -0
- package/dist/display/scene/types.js +0 -0
- package/dist/display/scene/types.js.map +1 -0
- package/dist/display/wrapper/TextWrapper.d.ts +102 -0
- package/dist/display/wrapper/TextWrapper.d.ts.map +1 -0
- package/dist/display/wrapper/TextWrapper.js +469 -0
- package/dist/display/wrapper/TextWrapper.js.map +1 -0
- package/dist/display/wrapper/index.d.ts +12 -0
- package/dist/display/wrapper/index.d.ts.map +1 -0
- package/dist/display/wrapper/index.js +12 -0
- package/dist/display/wrapper/index.js.map +1 -0
- package/dist/display/wrapper/types.d.ts +75 -0
- package/dist/display/wrapper/types.d.ts.map +1 -0
- package/dist/display/wrapper/types.js +11 -0
- package/dist/display/wrapper/types.js.map +1 -0
- package/dist/globals.d.ts +5 -5
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js +1 -1
- package/dist/globals.js.map +1 -1
- package/dist/hardware.d.ts +4 -18
- package/dist/hardware.d.ts.map +1 -1
- package/dist/hardware.js +2 -13
- package/dist/hardware.js.map +1 -1
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/knownApps.d.ts +26 -0
- package/dist/knownApps.d.ts.map +1 -0
- package/dist/knownApps.js +140 -0
- package/dist/knownApps.js.map +1 -0
- package/dist/mirror/canvas.d.ts +22 -0
- package/dist/mirror/canvas.d.ts.map +1 -0
- package/dist/mirror/canvas.js +311 -0
- package/dist/mirror/canvas.js.map +1 -0
- package/dist/mirror/geometry.d.ts +69 -0
- package/dist/mirror/geometry.d.ts.map +1 -0
- package/dist/mirror/geometry.js +75 -0
- package/dist/mirror/geometry.js.map +1 -0
- package/dist/mirror/index.d.ts +3 -0
- package/dist/mirror/index.d.ts.map +1 -0
- package/dist/mirror/index.js +2 -0
- package/dist/mirror/index.js.map +1 -0
- package/dist/mirror/types.d.ts +40 -0
- package/dist/mirror/types.d.ts.map +1 -0
- package/dist/mirror/types.js +2 -0
- package/dist/mirror/types.js.map +1 -0
- package/dist/modules/auth.d.ts +1 -1
- package/dist/modules/auth.d.ts.map +1 -1
- package/dist/modules/auth.js +2 -2
- package/dist/modules/auth.js.map +1 -1
- package/dist/modules/compass.d.ts +47 -0
- package/dist/modules/compass.d.ts.map +1 -0
- package/dist/modules/compass.js +39 -0
- package/dist/modules/compass.js.map +1 -0
- package/dist/modules/display.d.ts +192 -8
- package/dist/modules/display.d.ts.map +1 -1
- package/dist/modules/display.js +40 -3
- package/dist/modules/display.js.map +1 -1
- package/dist/modules/events.d.ts +30 -2
- package/dist/modules/events.d.ts.map +1 -1
- package/dist/modules/events.js.map +1 -1
- package/dist/modules/input.d.ts +40 -1
- package/dist/modules/input.d.ts.map +1 -1
- package/dist/modules/input.js +45 -1
- package/dist/modules/input.js.map +1 -1
- package/dist/modules/latest-render-scheduler.d.ts +19 -0
- package/dist/modules/latest-render-scheduler.d.ts.map +1 -0
- package/dist/modules/latest-render-scheduler.js +54 -0
- package/dist/modules/latest-render-scheduler.js.map +1 -0
- package/dist/modules/lightSensor.d.ts +44 -0
- package/dist/modules/lightSensor.d.ts.map +1 -0
- package/dist/modules/lightSensor.js +33 -0
- package/dist/modules/lightSensor.js.map +1 -0
- package/dist/modules/mic.d.ts +3 -2
- package/dist/modules/mic.d.ts.map +1 -1
- package/dist/modules/mic.js +3 -2
- package/dist/modules/mic.js.map +1 -1
- package/dist/modules/miniapps.d.ts +2 -0
- package/dist/modules/miniapps.d.ts.map +1 -1
- package/dist/modules/miniapps.js.map +1 -1
- package/dist/modules/mirror.d.ts +16 -0
- package/dist/modules/mirror.d.ts.map +1 -0
- package/dist/modules/mirror.js +40 -0
- package/dist/modules/mirror.js.map +1 -0
- package/dist/modules/mono-text-rows.d.ts +20 -0
- package/dist/modules/mono-text-rows.d.ts.map +1 -0
- package/dist/modules/mono-text-rows.js +26 -0
- package/dist/modules/mono-text-rows.js.map +1 -0
- package/dist/modules/navigation.d.ts.map +1 -1
- package/dist/modules/navigation.js +21 -14
- package/dist/modules/navigation.js.map +1 -1
- package/dist/modules/phone.d.ts +26 -1
- package/dist/modules/phone.d.ts.map +1 -1
- package/dist/modules/phone.js +28 -0
- package/dist/modules/phone.js.map +1 -1
- package/dist/modules/settings.d.ts +45 -0
- package/dist/modules/settings.d.ts.map +1 -0
- package/dist/modules/settings.js +54 -0
- package/dist/modules/settings.js.map +1 -0
- package/dist/modules/system.d.ts +21 -0
- package/dist/modules/system.d.ts.map +1 -1
- package/dist/modules/system.js +12 -0
- package/dist/modules/system.js.map +1 -1
- package/dist/modules/transcription.d.ts +3 -2
- package/dist/modules/transcription.d.ts.map +1 -1
- package/dist/modules/transcription.js +3 -2
- package/dist/modules/transcription.js.map +1 -1
- package/dist/protocol.d.ts +65 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +66 -5
- package/dist/protocol.js.map +1 -1
- package/dist/react/MirrorCanvas.d.ts +10 -0
- package/dist/react/MirrorCanvas.d.ts.map +1 -0
- package/dist/react/MirrorCanvas.js +23 -0
- package/dist/react/MirrorCanvas.js.map +1 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/useColorScheme.d.ts +2 -3
- package/dist/react/useColorScheme.d.ts.map +1 -1
- package/dist/react/useColorScheme.js +15 -8
- package/dist/react/useColorScheme.js.map +1 -1
- package/dist/react/useRpc.js +2 -2
- package/dist/react/useRpc.js.map +1 -1
- package/dist/react/useSafeArea.d.ts.map +1 -1
- package/dist/react/useSafeArea.js +2 -2
- package/dist/react/useSafeArea.js.map +1 -1
- package/dist/session.d.ts +50 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +35 -6
- package/dist/session.js.map +1 -1
- package/dist/transport/auto.d.ts +2 -2
- package/dist/transport/auto.js +2 -2
- package/dist/transport/dispatch.d.ts +1 -1
- package/dist/transport/dispatch.js +1 -1
- package/dist/transport/mock.d.ts +4 -4
- package/dist/transport/mock.d.ts.map +1 -1
- package/dist/transport/mock.js +31 -7
- package/dist/transport/mock.js.map +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/package.json +19 -3
- package/src/background/index.ts +26 -4
- package/src/background/register.ts +1 -1
- package/src/display/index.ts +83 -0
- package/src/display/measurer/TextMeasurer.ts +346 -0
- package/src/display/measurer/index.ts +21 -0
- package/src/display/measurer/script-detection.ts +218 -0
- package/src/display/pixelArt.ts +141 -0
- package/src/display/profiles/g1.ts +237 -0
- package/src/display/profiles/g2.ts +39 -0
- package/src/display/profiles/index.ts +28 -0
- package/src/display/profiles/nex.ts +166 -0
- package/src/display/profiles/types.ts +132 -0
- package/src/display/profiles/z100.ts +198 -0
- package/src/display/scene/types.ts +335 -0
- package/src/display/wrapper/TextWrapper.ts +546 -0
- package/src/display/wrapper/index.ts +15 -0
- package/src/display/wrapper/types.ts +102 -0
- package/src/globals.ts +5 -5
- package/src/hardware.ts +6 -21
- package/src/index.ts +34 -6
- package/src/knownApps.ts +170 -0
- package/src/mirror/canvas.ts +322 -0
- package/src/mirror/geometry.ts +128 -0
- package/src/mirror/index.ts +2 -0
- package/src/mirror/types.ts +38 -0
- package/src/modules/auth.ts +2 -2
- package/src/modules/compass.ts +69 -0
- package/src/modules/display.ts +222 -12
- package/src/modules/events.ts +27 -1
- package/src/modules/input.ts +55 -2
- package/src/modules/latest-render-scheduler.ts +55 -0
- package/src/modules/lightSensor.ts +61 -0
- package/src/modules/mic.ts +3 -2
- package/src/modules/miniapps.ts +2 -0
- package/src/modules/mirror.ts +42 -0
- package/src/modules/mono-text-rows.ts +30 -0
- package/src/modules/navigation.ts +20 -14
- package/src/modules/phone.ts +40 -1
- package/src/modules/settings.ts +64 -0
- package/src/modules/system.ts +30 -1
- package/src/modules/transcription.ts +3 -2
- package/src/protocol.ts +72 -5
- package/src/react/MirrorCanvas.tsx +35 -0
- package/src/react/index.ts +3 -0
- package/src/react/useColorScheme.ts +17 -8
- package/src/react/useRpc.ts +2 -2
- package/src/react/useSafeArea.ts +2 -2
- package/src/session.ts +78 -8
- package/src/transport/auto.ts +2 -2
- package/src/transport/dispatch.ts +1 -1
- package/src/transport/mock.ts +42 -11
- package/src/ui/index.ts +3 -0
- package/dist/modules/heading.d.ts +0 -16
- package/dist/modules/heading.d.ts.map +0 -1
- package/dist/modules/heading.js +0 -20
- package/dist/modules/heading.js.map +0 -1
- package/src/modules/heading.ts +0 -23
package/dist/protocol.js
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* These values are the contract between @glassly/miniapp (running in a WebView)
|
|
6
6
|
* and LocalMiniappRuntime (running on the phone).
|
|
7
7
|
*
|
|
8
|
-
* IMPORTANT: This file has
|
|
9
|
-
* wire
|
|
10
|
-
*
|
|
8
|
+
* IMPORTANT: This file has no runtime dependency on the retired cloud SDK.
|
|
9
|
+
* Its published wire-protocol enums are used only for compatibility with
|
|
10
|
+
* existing cloud-hosted miniapps, not for phone↔miniapp communication.
|
|
11
11
|
*/
|
|
12
12
|
// ============================================================================
|
|
13
13
|
// Miniapp → phone (request, via bridge envelope)
|
|
@@ -20,6 +20,12 @@ export var MiniappRequestType;
|
|
|
20
20
|
MiniappRequestType["AUTH_REFRESH"] = "miniapp_auth_refresh";
|
|
21
21
|
/** Update the set of streams the miniapp is subscribed to. */
|
|
22
22
|
MiniappRequestType["SUBSCRIBE"] = "miniapp_subscribe";
|
|
23
|
+
/**
|
|
24
|
+
* Declare the touch gestures this miniapp is handling itself. The most
|
|
25
|
+
* recent claimer of a gesture gets it alone and the host's default for it
|
|
26
|
+
* is skipped; releasing hands it back to the previous claimer.
|
|
27
|
+
*/
|
|
28
|
+
MiniappRequestType["CLAIM_GESTURES"] = "miniapp_claim_gestures";
|
|
23
29
|
/**
|
|
24
30
|
* Push a legacy display layout to the glasses. The SDK no longer emits this
|
|
25
31
|
* (render()/RENDER replaced it); hosts keep accepting it from bundles packed
|
|
@@ -28,6 +34,15 @@ export var MiniappRequestType;
|
|
|
28
34
|
MiniappRequestType["DISPLAY"] = "miniapp_display";
|
|
29
35
|
/** Render a whole scene of positioned elements (replace-the-frame). */
|
|
30
36
|
MiniappRequestType["RENDER"] = "miniapp_render";
|
|
37
|
+
/** Read the globally visible intended glasses canvas. DISPLAY_MIRROR permission. */
|
|
38
|
+
MiniappRequestType["MIRROR_GET"] = "miniapp_mirror_get";
|
|
39
|
+
/**
|
|
40
|
+
* Ask the host for a display view (display.showView). "main" is every
|
|
41
|
+
* app's; "dashboard" is the overlay slot above the main content, granted
|
|
42
|
+
* only to the running miniapp whose manifest type is "system_dashboard"
|
|
43
|
+
* while the glasses can show it.
|
|
44
|
+
*/
|
|
45
|
+
MiniappRequestType["SHOW_VIEW"] = "miniapp_show_view";
|
|
31
46
|
/**
|
|
32
47
|
* Feed the device's firmware-rendered navigation UI (capability
|
|
33
48
|
* `hasNativeNavigation`): structured turn-by-turn card fields and
|
|
@@ -56,6 +71,19 @@ export var MiniappRequestType;
|
|
|
56
71
|
MiniappRequestType["LOCATION_POLL"] = "miniapp_location_poll";
|
|
57
72
|
/** Read a bounded snapshot of phone calendar events. */
|
|
58
73
|
MiniappRequestType["CALENDAR_LIST_EVENTS"] = "miniapp_calendar_list_events";
|
|
74
|
+
/**
|
|
75
|
+
* Apps that post phone notifications, for a notification filter UI.
|
|
76
|
+
* SYSTEM-only. Android: installed apps with icons; iOS: the seeded
|
|
77
|
+
* catalog plus apps the glasses reported.
|
|
78
|
+
*/
|
|
79
|
+
MiniappRequestType["NOTIFICATION_APPS_LIST"] = "miniapp_notification_apps_list";
|
|
80
|
+
/**
|
|
81
|
+
* The engine's settings store behind an allowlist (session.settings).
|
|
82
|
+
* SYSTEM-only. GET takes optional `keys` and answers `{values}`; SET
|
|
83
|
+
* takes `key` and `value` and writes through the store.
|
|
84
|
+
*/
|
|
85
|
+
MiniappRequestType["SETTINGS_GET"] = "miniapp_settings_get";
|
|
86
|
+
MiniappRequestType["SETTINGS_SET"] = "miniapp_settings_set";
|
|
59
87
|
/** Start a turn-by-turn navigation trip. Android only. */
|
|
60
88
|
MiniappRequestType["NAVIGATION_START"] = "miniapp_navigation_start";
|
|
61
89
|
/** Stop the active navigation trip (if any). */
|
|
@@ -153,6 +181,7 @@ export var MiniappRequestType;
|
|
|
153
181
|
* for callers who want to control the sensor directly. G2 only today.
|
|
154
182
|
*/
|
|
155
183
|
MiniappRequestType["IMU_SET_ENABLED"] = "miniapp_imu_set_enabled";
|
|
184
|
+
MiniappRequestType["GLASSES_SENSOR_CONTROL"] = "miniapp_glasses_sensor_control";
|
|
156
185
|
/** Explicitly enable/disable glasses-side VAD (GX8002). Mirrors the app's mic settings toggle. */
|
|
157
186
|
MiniappRequestType["MIC_SET_VAD_ENABLED"] = "miniapp_mic_set_vad_enabled";
|
|
158
187
|
/** Explicitly enable/disable the center-mic loudness gate ("Barrier"). */
|
|
@@ -167,6 +196,7 @@ export var MiniappRequestType;
|
|
|
167
196
|
/** Open a URL in the system browser. */
|
|
168
197
|
MiniappRequestType["OPEN_URL"] = "miniapp_open_url";
|
|
169
198
|
/** Copy text to the system clipboard. */
|
|
199
|
+
MiniappRequestType["DISPLAY_DIAGNOSTICS"] = "miniapp_display_diagnostics";
|
|
170
200
|
MiniappRequestType["COPY_CLIPBOARD"] = "miniapp_copy_clipboard";
|
|
171
201
|
/** Download a file (triggers OS share sheet for save location). */
|
|
172
202
|
MiniappRequestType["DOWNLOAD"] = "miniapp_download";
|
|
@@ -256,6 +286,8 @@ export var MiniappResponseType;
|
|
|
256
286
|
MiniappResponseType["REQUEST_RESULT"] = "miniapp_request_result";
|
|
257
287
|
/** Push: glasses capabilities changed. */
|
|
258
288
|
MiniappResponseType["CAPABILITIES_UPDATE"] = "miniapp_capabilities_update";
|
|
289
|
+
/** Push: host user preferences (units, clock format) changed. */
|
|
290
|
+
MiniappResponseType["PREFERENCES_UPDATE"] = "miniapp_preferences_update";
|
|
259
291
|
/** Push: miniapp's foreground/background state changed. */
|
|
260
292
|
MiniappResponseType["VISIBILITY_CHANGE"] = "miniapp_visibility_change";
|
|
261
293
|
/** Push: host color scheme (light/dark) changed. */
|
|
@@ -304,7 +336,25 @@ export var MiniappStreamType;
|
|
|
304
336
|
// Hardware / input events
|
|
305
337
|
MiniappStreamType["BUTTON_PRESS"] = "button_press";
|
|
306
338
|
MiniappStreamType["TOUCH_EVENT"] = "touch_event";
|
|
339
|
+
/**
|
|
340
|
+
* Physical keyboard paired to the glasses (input.onKey): DOM-style
|
|
341
|
+
* `{phase, key, code, modifiers, text?, repeat, timestamp}`. G2 Glassly CFW
|
|
342
|
+
* revision 39+ only; broadcast to every subscriber like button_press.
|
|
343
|
+
*/
|
|
344
|
+
MiniappStreamType["KEYBOARD_EVENT"] = "keyboard_event";
|
|
307
345
|
MiniappStreamType["HEAD_POSITION"] = "head_position";
|
|
346
|
+
/**
|
|
347
|
+
* The dashboard view's state (display.onViewChange): `{kind: "change",
|
|
348
|
+
* view, reason}` when the host grants or takes the overlay slot.
|
|
349
|
+
*/
|
|
350
|
+
MiniappStreamType["DISPLAY_VIEW"] = "display_view";
|
|
351
|
+
/** Initial mirror snapshot and subsequent visible display changes. */
|
|
352
|
+
MiniappStreamType["MIRROR_UPDATE"] = "mirror_update";
|
|
353
|
+
/**
|
|
354
|
+
* A gesture claim changed hands (input.onClaimChange): `{gesture, held}`,
|
|
355
|
+
* sent to the app that gained or lost the gesture.
|
|
356
|
+
*/
|
|
357
|
+
MiniappStreamType["GESTURE_CLAIM"] = "gesture_claim";
|
|
308
358
|
/**
|
|
309
359
|
* Raw accelerometer reading from the glasses IMU — `{x, y, z}` in g, plus a
|
|
310
360
|
* timestamp. G2 only today. A richer combined IMU stream (accel + gyro +
|
|
@@ -324,19 +374,30 @@ export var MiniappStreamType;
|
|
|
324
374
|
MiniappStreamType["VAD"] = "vad";
|
|
325
375
|
// Phone sensors
|
|
326
376
|
MiniappStreamType["LOCATION_UPDATE"] = "location_update";
|
|
327
|
-
/**
|
|
377
|
+
/** Phone compass heading in degrees (0=N, 90=E). */
|
|
328
378
|
MiniappStreamType["HEADING_UPDATE"] = "heading_update";
|
|
379
|
+
// Glasses sensors
|
|
380
|
+
MiniappStreamType["LIGHT_SENSOR"] = "light_sensor";
|
|
381
|
+
/** Glasses compass heading; auto-starts on custom firmware, nav mode only on stock. */
|
|
382
|
+
MiniappStreamType["GLASSES_COMPASS"] = "glasses_compass";
|
|
383
|
+
MiniappStreamType["COMPASS_CALIBRATION"] = "compass_calibration";
|
|
329
384
|
/** Turn-by-turn navigation event (maneuver / rerouting / arrived / error). */
|
|
330
385
|
MiniappStreamType["NAVIGATION_UPDATE"] = "navigation_update";
|
|
331
386
|
/** Active navigation route polyline — full path, fired once per route build. */
|
|
332
387
|
MiniappStreamType["NAVIGATION_ROUTE"] = "navigation_route";
|
|
333
388
|
MiniappStreamType["PHONE_NOTIFICATION"] = "phone_notification";
|
|
389
|
+
/**
|
|
390
|
+
* An allowlisted engine setting changed (session.settings.onChange), as
|
|
391
|
+
* `{key, value}`. SYSTEM-only; every key's current value is replayed on
|
|
392
|
+
* subscribe.
|
|
393
|
+
*/
|
|
394
|
+
MiniappStreamType["SETTINGS_CHANGED"] = "settings_changed";
|
|
334
395
|
/**
|
|
335
396
|
* A previously-posted notification was dismissed by the user.
|
|
336
397
|
*
|
|
337
398
|
* Android-only today. iOS does not expose dismiss callbacks to apps
|
|
338
399
|
* (Apple privacy restriction); subscribing on iOS succeeds but no events
|
|
339
|
-
* fire. See agents/miniapp-speaker-state-and-notif-dismissed-plan.md.
|
|
400
|
+
* fire. See notes/archive/agents/miniapp-speaker-state-and-notif-dismissed-plan.md.
|
|
340
401
|
*/
|
|
341
402
|
MiniappStreamType["PHONE_NOTIFICATION_DISMISSED"] = "phone_notification_dismissed";
|
|
342
403
|
// Photos, streaming
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CSSProperties } from "react";
|
|
2
|
+
import type { MirrorSnapshot } from "../mirror/types";
|
|
3
|
+
export interface MirrorCanvasProps {
|
|
4
|
+
frame: MirrorSnapshot | null;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
/** Browser preview of intended glasses output; pass snapshots over a UI channel. */
|
|
9
|
+
export declare function MirrorCanvas({ frame, className, style }: MirrorCanvasProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=MirrorCanvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MirrorCanvas.d.ts","sourceRoot":"","sources":["../../src/react/MirrorCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,EAAE,iBAAiB,+BAuBxE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { MirrorCanvasRenderer } from "../mirror/canvas";
|
|
4
|
+
/** Browser preview of intended glasses output; pass snapshots over a UI channel. */
|
|
5
|
+
export function MirrorCanvas({ frame, className, style }) {
|
|
6
|
+
const canvas = useRef(null);
|
|
7
|
+
const renderer = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!canvas.current)
|
|
10
|
+
return;
|
|
11
|
+
renderer.current = new MirrorCanvasRenderer(canvas.current);
|
|
12
|
+
return () => {
|
|
13
|
+
renderer.current?.dispose();
|
|
14
|
+
renderer.current = null;
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (frame)
|
|
19
|
+
renderer.current?.update(frame);
|
|
20
|
+
}, [frame]);
|
|
21
|
+
return (_jsx("canvas", { ref: canvas, className: className, role: "img", "aria-label": "Glasses display mirror", style: { display: "block", width: "100%", height: "auto", ...style } }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=MirrorCanvas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MirrorCanvas.js","sourceRoot":"","sources":["../../src/react/MirrorCanvas.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAqB,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAA;AASrD,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAoB;IACvE,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAA;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;YAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK;YAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACX,OAAO,CACL,iBACE,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,KAAK,gBACC,wBAAwB,EACnC,KAAK,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAC,GAClE,CACH,CAAA;AACH,CAAC"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export type { MiniappHeaderProps } from "./MiniappHeader";
|
|
|
10
10
|
export { MiniappProvider } from "./MiniappProvider";
|
|
11
11
|
export type { MiniappProviderProps } from "./MiniappProvider";
|
|
12
12
|
export { useRpc, type RpcCallable } from "./useRpc";
|
|
13
|
+
export { MirrorCanvas, type MirrorCanvasProps } from "./MirrorCanvas";
|
|
14
|
+
export type { MirrorSnapshot, MirrorContent, MirrorElement } from "../mirror/types";
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAA;AAEjD,OAAO,EAAC,YAAY,EAAE,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AACnE,YAAY,EAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAA"}
|
package/dist/react/index.js
CHANGED
|
@@ -6,4 +6,5 @@ export { useCapsuleHeaderStyle } from "./useCapsuleHeaderStyle";
|
|
|
6
6
|
export { MiniappHeader } from "./MiniappHeader";
|
|
7
7
|
export { MiniappProvider } from "./MiniappProvider";
|
|
8
8
|
export { useRpc } from "./useRpc";
|
|
9
|
+
export { MirrorCanvas } from "./MirrorCanvas";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAC,MAAM,EAAmB,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAC,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEjD,OAAO,EAAC,YAAY,EAAyB,MAAM,gBAAgB,CAAA"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* color scheme.
|
|
4
4
|
*
|
|
5
5
|
* WebView-side hook: reads `window.Glassly.colorScheme`, injected by the host
|
|
6
|
-
* before the miniapp's content loads
|
|
7
|
-
*
|
|
8
|
-
* flipping the phone's theme forces a reload.
|
|
6
|
+
* before the miniapp's content loads, and follows the host's
|
|
7
|
+
* `glassly:color-scheme-change` events while the WebView remains mounted.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: this hook must NOT construct a `MiniappSession`. `MiniappSession`
|
|
11
10
|
* is the *background* (JSContext) API; inside a UI WebView its transport falls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAiB,KAAK,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAIlE,wBAAgB,cAAc,IAAI,kBAAkB,CAanD"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* color scheme.
|
|
4
4
|
*
|
|
5
5
|
* WebView-side hook: reads `window.Glassly.colorScheme`, injected by the host
|
|
6
|
-
* before the miniapp's content loads
|
|
7
|
-
*
|
|
8
|
-
* flipping the phone's theme forces a reload.
|
|
6
|
+
* before the miniapp's content loads, and follows the host's
|
|
7
|
+
* `glassly:color-scheme-change` events while the WebView remains mounted.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: this hook must NOT construct a `MiniappSession`. `MiniappSession`
|
|
11
10
|
* is the *background* (JSContext) API; inside a UI WebView its transport falls
|
|
@@ -13,12 +12,20 @@
|
|
|
13
12
|
* router, so `session.connect()` times out ("CONNECT_ACK timeout"). UI hooks
|
|
14
13
|
* read host-injected globals instead (see `useSafeArea`).
|
|
15
14
|
*/
|
|
16
|
-
import { useState } from "react";
|
|
17
|
-
import {
|
|
15
|
+
import { useEffect, useState } from "react";
|
|
16
|
+
import { getHostGlobals } from "../globals";
|
|
17
|
+
const readScheme = () => (getHostGlobals().colorScheme === "dark" ? "dark" : "light");
|
|
18
18
|
export function useColorScheme() {
|
|
19
|
-
const [scheme] = useState(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const [scheme, setScheme] = useState(readScheme);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (typeof window === "undefined")
|
|
22
|
+
return;
|
|
23
|
+
const update = () => setScheme(readScheme());
|
|
24
|
+
window.addEventListener("glassly:color-scheme-change", update);
|
|
25
|
+
// Catch an update delivered between the initial render and subscription.
|
|
26
|
+
update();
|
|
27
|
+
return () => window.removeEventListener("glassly:color-scheme-change", update);
|
|
28
|
+
}, []);
|
|
22
29
|
return scheme;
|
|
23
30
|
}
|
|
24
31
|
//# sourceMappingURL=useColorScheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAC,cAAc,EAA0B,MAAM,YAAY,CAAA;AAElE,MAAM,UAAU,GAAG,GAAuB,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAEzG,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,UAAU,CAAC,CAAA;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAA;QAC5C,MAAM,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;QAC9D,yEAAyE;QACzE,MAAM,EAAE,CAAA;QACR,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;IAChF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/react/useRpc.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { useCallback, useEffect, useRef } from "react";
|
|
15
15
|
/** Walk to the global `glassly.request` (typed). */
|
|
16
|
-
function
|
|
16
|
+
function getHostRequest() {
|
|
17
17
|
const m = globalThis.glassly;
|
|
18
18
|
if (!m || typeof m.request !== "function") {
|
|
19
19
|
throw new Error("useRpc: window.glassly.request is not available — is this miniapp running in a UI WebView with the shim injected?");
|
|
@@ -71,7 +71,7 @@ export function useRpc(channel) {
|
|
|
71
71
|
if (options?.signal)
|
|
72
72
|
signals.push(options.signal);
|
|
73
73
|
const signal = mergeSignals(signals);
|
|
74
|
-
return
|
|
74
|
+
return getHostRequest()(channel, payload, { signal, timeout: options?.timeout });
|
|
75
75
|
}, [channel]);
|
|
76
76
|
callable.abort = () => {
|
|
77
77
|
currentRef.current?.abort();
|
package/dist/react/useRpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRpc.js","sourceRoot":"","sources":["../../src/react/useRpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AAMpD,oDAAoD;AACpD,SAAS,
|
|
1
|
+
{"version":3,"file":"useRpc.js","sourceRoot":"","sources":["../../src/react/useRpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AAMpD,oDAAoD;AACpD,SAAS,cAAc;IACrB,MAAM,CAAC,GAAI,UAA2D,CAAC,OAAO,CAAA;IAC9E,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAA;IACH,CAAC;IACD,OAAO,CAAC,CAAC,OAAO,CAAA;AAClB,CAAC;AAED,oEAAoE;AACpE,SAAS,YAAY,CAAC,OAAsB;IAE1C,MAAM,IAAI,GAAG,WAAiC,CAAA;IAC9C,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAE,EAAE;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC,CAAA;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,CAAC,CAAA;YACV,MAAK;QACP,CAAC;QACD,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAQD;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACpB,OAAU;IAEV,sDAAsD;IACtD,MAAM,UAAU,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACvD,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAA;IACrD,IAAI,QAAQ,CAAC,OAAO,IAAI,IAAI;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAA;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAQ,CAAA;QAC/B,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,KAAK,EAAE,CAAA;YACb,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;YAC3B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,QAAQ,GAAG,WAAW,CAC1B,CAAC,OAA6B,EAAE,OAA2B,EAAE,EAAE;QAC7D,yCAAyC;QACzC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QAC3B,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,MAAM,OAAO,GAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,OAAO,EAAE,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;QACpC,OAAO,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,CAAkC,CAAA;IACjH,CAAC,EACD,CAAC,OAAO,CAAC,CACmB,CAAA;IAE9B,QAAQ,CAAC,KAAK,GAAG,GAAG,EAAE;QACpB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;QAC3B,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;IAC3B,CAAC,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeArea.d.ts","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"useSafeArea.d.ts","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAiB,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAC,MAAM,YAAY,CAAA;AAIlG,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,MAAM,EAAE,qBAAqB,CAAA;IAC7B;;;;OAIG;IACH,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAC3C;AAED,wBAAgB,WAAW,IAAI,iBAAiB,CAS/C"}
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
* would have to force a reload to update them, e.g. on orientation change).
|
|
8
8
|
*/
|
|
9
9
|
import { useState } from "react";
|
|
10
|
-
import {
|
|
10
|
+
import { getHostGlobals } from "../globals";
|
|
11
11
|
const EMPTY_INSETS = { top: 0, bottom: 0, left: 0, right: 0 };
|
|
12
12
|
export function useSafeArea() {
|
|
13
13
|
const [result] = useState(() => {
|
|
14
|
-
const globals =
|
|
14
|
+
const globals = getHostGlobals();
|
|
15
15
|
return {
|
|
16
16
|
insets: globals.safeAreaInsets ?? EMPTY_INSETS,
|
|
17
17
|
capsuleMenu: globals.capsuleMenu ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeArea.js","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"useSafeArea.js","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAC,cAAc,EAA0D,MAAM,YAAY,CAAA;AAElG,MAAM,YAAY,GAA0B,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAA;AAalF,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAoB,GAAG,EAAE;QAChD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;QAChC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,YAAY;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -21,15 +21,17 @@ import { DashboardAPI } from "./modules/dashboard";
|
|
|
21
21
|
import { DisplayManager } from "./modules/display";
|
|
22
22
|
import { EventManager, type UnsubscribeFn } from "./modules/events";
|
|
23
23
|
import { GlassesModule } from "./modules/glasses";
|
|
24
|
-
import { HeadingModule } from "./modules/heading";
|
|
25
24
|
import { AiModule } from "./modules/ai";
|
|
26
25
|
import { ImuModule } from "./modules/imu";
|
|
26
|
+
import { CompassModule } from "./modules/compass";
|
|
27
|
+
import { LightSensorModule } from "./modules/lightSensor";
|
|
27
28
|
import { InputModule } from "./modules/input";
|
|
28
29
|
import { KeysModule } from "./modules/keys";
|
|
29
30
|
import { LedModule } from "./modules/led";
|
|
30
31
|
import { LocationModule } from "./modules/location";
|
|
31
32
|
import { MemoryModule } from "./modules/memory";
|
|
32
33
|
import { SpeakersModule } from "./modules/speakers";
|
|
34
|
+
import { MirrorModule } from "./modules/mirror";
|
|
33
35
|
import { MicModule } from "./modules/mic";
|
|
34
36
|
import { NavigationModule } from "./modules/navigation";
|
|
35
37
|
import { PermissionsModule } from "./modules/permissions";
|
|
@@ -37,6 +39,7 @@ import { PhoneModule } from "./modules/phone";
|
|
|
37
39
|
import { TranscriptionModule } from "./modules/transcription";
|
|
38
40
|
import { TranslationModule } from "./modules/translation";
|
|
39
41
|
import { type UIModule } from "./modules/ui";
|
|
42
|
+
import { SettingsModule } from "./modules/settings";
|
|
40
43
|
import { SimpleStorage } from "./modules/storage";
|
|
41
44
|
import { SpeakerModule } from "./modules/speaker";
|
|
42
45
|
import { StreamModule } from "./modules/stream";
|
|
@@ -63,9 +66,22 @@ export interface DisplayCapabilities {
|
|
|
63
66
|
width: number;
|
|
64
67
|
height: number;
|
|
65
68
|
};
|
|
69
|
+
/** Shape element types the device draws ("rect", "circle", "line", …). */
|
|
66
70
|
shapes?: string[];
|
|
71
|
+
/** True ⇒ element `transition`s animate on the device. */
|
|
72
|
+
animation?: boolean;
|
|
73
|
+
/** Geometric and SVG rotations, including duration-based transitions. */
|
|
74
|
+
rotation?: boolean;
|
|
75
|
+
/** Per-element stereo `depth` (a lens disparity) is honored; otherwise elements draw flat. */
|
|
76
|
+
depth?: boolean;
|
|
67
77
|
intensityLevels?: number;
|
|
68
78
|
partialUpdate?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* The views this app may draw right now. "main" always; "dashboard" only
|
|
81
|
+
* for the running app whose manifest type is "system_dashboard", while the
|
|
82
|
+
* connected glasses can show the overlay slot (see display.showView).
|
|
83
|
+
*/
|
|
84
|
+
views?: Array<"main" | "dashboard">;
|
|
69
85
|
/** Legacy capability fields (resolution, isColor, maxTextLines, …) ride along. */
|
|
70
86
|
[key: string]: unknown;
|
|
71
87
|
}
|
|
@@ -78,19 +94,36 @@ export interface GlassesCapabilities {
|
|
|
78
94
|
[key: string]: unknown;
|
|
79
95
|
}
|
|
80
96
|
export type MiniappVisibility = "foreground" | "background";
|
|
97
|
+
/** Where the user started this session from: the phone app or the glasses menu. */
|
|
98
|
+
export type MiniappLaunchSource = "phone" | "glasses";
|
|
81
99
|
export interface MiniappSessionOptions extends CreateTransportOptions {
|
|
82
100
|
/** Override auto-detected packageName. Normally provided via window.Glassly. */
|
|
83
101
|
packageName?: string;
|
|
84
102
|
/** Override the ready timeout. Default 10s. */
|
|
85
103
|
connectTimeoutMs?: number;
|
|
86
104
|
}
|
|
105
|
+
/** Distance/temperature unit family. Mirrors the host's "Use Metric System" toggle. */
|
|
106
|
+
export type MiniappUnitSystem = "metric" | "imperial";
|
|
107
|
+
/**
|
|
108
|
+
* Host user preferences a miniapp should follow by default (Settings >
|
|
109
|
+
* Appearance). Sent in CONNECT_ACK and pushed on change. Miniapps may still
|
|
110
|
+
* offer their own override on top.
|
|
111
|
+
*/
|
|
112
|
+
export interface MiniappPreferences {
|
|
113
|
+
unitSystem: MiniappUnitSystem;
|
|
114
|
+
/** True for 12-hour (AM/PM) clocks, false for 24-hour. */
|
|
115
|
+
twelveHourTime: boolean;
|
|
116
|
+
}
|
|
87
117
|
export interface ConnectAckPayload {
|
|
88
118
|
type: MiniappResponseType.CONNECT_ACK;
|
|
89
119
|
userId: string;
|
|
90
120
|
packageName: string;
|
|
91
121
|
capabilities: GlassesCapabilities | null;
|
|
122
|
+
/** Absent on runtimes older than the preferences surface. */
|
|
123
|
+
preferences?: MiniappPreferences;
|
|
92
124
|
visibility?: MiniappVisibility;
|
|
93
125
|
colorScheme?: MiniappColorScheme;
|
|
126
|
+
launchSource?: MiniappLaunchSource;
|
|
94
127
|
/**
|
|
95
128
|
* Manifest-declared permission record. Mirrors cloud SDK v3's PermissionRecord:
|
|
96
129
|
* `{location, microphone, camera, notifications, calendar, apiKeys}` —
|
|
@@ -102,7 +135,7 @@ export interface ConnectAckPayload {
|
|
|
102
135
|
auth?: MiniappAuthState;
|
|
103
136
|
}
|
|
104
137
|
export interface MiniappAuthState {
|
|
105
|
-
|
|
138
|
+
userId: string;
|
|
106
139
|
oemId?: string;
|
|
107
140
|
token: string;
|
|
108
141
|
expiresAt: number;
|
|
@@ -115,7 +148,7 @@ export interface AuthUpdatePayload {
|
|
|
115
148
|
* Manifest-declared permission record. v3-aligned: lowercase canonical keys.
|
|
116
149
|
* Booleans indicate whether the miniapp declared each in its manifest.json.
|
|
117
150
|
*/
|
|
118
|
-
export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers";
|
|
151
|
+
export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers" | "displayMirror";
|
|
119
152
|
export type PermissionRecord = Record<PermissionType, boolean>;
|
|
120
153
|
export declare class NotConnectedError extends Error {
|
|
121
154
|
readonly code = MiniappErrorCode.NOT_CONNECTED;
|
|
@@ -150,6 +183,7 @@ type SessionEmitterEvents = {
|
|
|
150
183
|
disconnect: (reason: string) => void;
|
|
151
184
|
visibility: (v: MiniappVisibility) => void;
|
|
152
185
|
capabilities: (cap: GlassesCapabilities | null) => void;
|
|
186
|
+
preferences: (prefs: MiniappPreferences) => void;
|
|
153
187
|
colorScheme: (scheme: MiniappColorScheme) => void;
|
|
154
188
|
permissions: (perms: PermissionRecord) => void;
|
|
155
189
|
speakerState: (event: import("./modules/speaker").SpeakerStateEvent) => void;
|
|
@@ -157,6 +191,7 @@ type SessionEmitterEvents = {
|
|
|
157
191
|
};
|
|
158
192
|
export declare class MiniappSession<TChannels extends object = any> {
|
|
159
193
|
readonly auth: AuthModule;
|
|
194
|
+
readonly mirror: MirrorModule;
|
|
160
195
|
readonly display: DisplayManager;
|
|
161
196
|
/**
|
|
162
197
|
* Internal subscription registry + escape hatch.
|
|
@@ -172,8 +207,9 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
172
207
|
readonly cloud: CloudModule;
|
|
173
208
|
readonly dashboard: DashboardAPI;
|
|
174
209
|
readonly glasses: GlassesModule;
|
|
175
|
-
readonly heading: HeadingModule;
|
|
176
210
|
readonly imu: ImuModule;
|
|
211
|
+
readonly lightSensor: LightSensorModule;
|
|
212
|
+
readonly compass: CompassModule;
|
|
177
213
|
readonly input: InputModule;
|
|
178
214
|
/**
|
|
179
215
|
* User-supplied provider API keys (Settings > API Keys). Requires the
|
|
@@ -207,6 +243,11 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
207
243
|
readonly navigation: NavigationModule;
|
|
208
244
|
readonly permissions: PermissionsModule;
|
|
209
245
|
readonly phone: PhoneModule;
|
|
246
|
+
/**
|
|
247
|
+
* The engine's settings store behind an allowlist. SYSTEM-only — calls
|
|
248
|
+
* reject with NOT_PERMITTED unless this miniapp is a system app.
|
|
249
|
+
*/
|
|
250
|
+
readonly settings: SettingsModule;
|
|
210
251
|
readonly storage: SimpleStorage;
|
|
211
252
|
/**
|
|
212
253
|
* Phone-local persistent BINARY storage (`session.blob`) — the binary
|
|
@@ -238,9 +279,13 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
238
279
|
readonly actions: ActionsModule;
|
|
239
280
|
/** Phone-declared glasses capabilities. Null until CONNECT_ACK arrives. */
|
|
240
281
|
capabilities: GlassesCapabilities | null;
|
|
282
|
+
/** Host user preferences. Null until CONNECT_ACK arrives (or on runtimes that don't send them). */
|
|
283
|
+
preferences: MiniappPreferences | null;
|
|
241
284
|
userId: string;
|
|
242
285
|
packageName: string;
|
|
243
286
|
visibility: MiniappVisibility;
|
|
287
|
+
/** Where the user started this session from. Null until CONNECT_ACK arrives. */
|
|
288
|
+
launchSource: MiniappLaunchSource | null;
|
|
244
289
|
/** Host color scheme. Seeded from window.Glassly, updated via session events. */
|
|
245
290
|
colorScheme: MiniappColorScheme;
|
|
246
291
|
/** True after CONNECT_ACK. Observe with waitForReady() or the "ready" event. */
|
|
@@ -333,6 +378,7 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
333
378
|
onBeforeDisconnect(handler: (reason: string) => void): () => void;
|
|
334
379
|
onVisibilityChange(handler: (v: MiniappVisibility) => void): () => void;
|
|
335
380
|
onCapabilitiesChange(handler: (cap: GlassesCapabilities | null) => void): () => void;
|
|
381
|
+
onPreferencesChange(handler: (prefs: MiniappPreferences) => void): () => void;
|
|
336
382
|
onColorSchemeChange(handler: (scheme: MiniappColorScheme) => void): () => void;
|
|
337
383
|
private enqueueOrSend;
|
|
338
384
|
private flushQueue;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|