@elizaos/plugin-facewear 2.0.3-beta.5 → 2.0.3-beta.7

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.
Files changed (191) hide show
  1. package/dist/actions/display-text.d.ts +4 -0
  2. package/dist/actions/display-text.d.ts.map +1 -0
  3. package/dist/actions/display-text.js +90 -0
  4. package/dist/actions/display-text.js.map +1 -0
  5. package/dist/actions/facewear-connect.d.ts +3 -0
  6. package/dist/actions/facewear-connect.d.ts.map +1 -0
  7. package/dist/actions/facewear-connect.js +70 -0
  8. package/dist/actions/facewear-connect.js.map +1 -0
  9. package/dist/actions/facewear-control.d.ts +4 -0
  10. package/dist/actions/facewear-control.d.ts.map +1 -0
  11. package/dist/actions/facewear-control.js +627 -0
  12. package/dist/actions/facewear-control.js.map +1 -0
  13. package/dist/actions/facewear-debug.d.ts +3 -0
  14. package/dist/actions/facewear-debug.d.ts.map +1 -0
  15. package/dist/actions/facewear-debug.js +62 -0
  16. package/dist/actions/facewear-debug.js.map +1 -0
  17. package/dist/actions/facewear-status.d.ts +4 -0
  18. package/dist/actions/facewear-status.d.ts.map +1 -0
  19. package/dist/actions/facewear-status.js +66 -0
  20. package/dist/actions/facewear-status.js.map +1 -0
  21. package/dist/actions/microphone.d.ts +4 -0
  22. package/dist/actions/microphone.d.ts.map +1 -0
  23. package/dist/actions/microphone.js +63 -0
  24. package/dist/actions/microphone.js.map +1 -0
  25. package/dist/actions/view-actions.d.ts +23 -0
  26. package/dist/actions/view-actions.d.ts.map +1 -0
  27. package/dist/actions/view-actions.js +314 -0
  28. package/dist/actions/view-actions.js.map +1 -0
  29. package/dist/actions/vision-query.d.ts +4 -0
  30. package/dist/actions/vision-query.d.ts.map +1 -0
  31. package/dist/actions/vision-query.js +41 -0
  32. package/dist/actions/vision-query.js.map +1 -0
  33. package/dist/actions/xr-view-actions.d.ts +14 -0
  34. package/dist/actions/xr-view-actions.d.ts.map +1 -0
  35. package/dist/actions/xr-view-actions.js +29 -0
  36. package/dist/actions/xr-view-actions.js.map +1 -0
  37. package/dist/components/FacewearSpatialView.d.ts +50 -0
  38. package/dist/components/FacewearSpatialView.d.ts.map +1 -0
  39. package/dist/components/FacewearSpatialView.js +129 -0
  40. package/dist/components/FacewearSpatialView.js.map +1 -0
  41. package/dist/components/FacewearView.d.ts +17 -0
  42. package/dist/components/FacewearView.d.ts.map +1 -0
  43. package/dist/components/FacewearView.js +88 -0
  44. package/dist/components/FacewearView.js.map +1 -0
  45. package/dist/components/SmartglassesPanelView.d.ts +22 -0
  46. package/dist/components/SmartglassesPanelView.d.ts.map +1 -0
  47. package/dist/components/SmartglassesPanelView.js +140 -0
  48. package/dist/components/SmartglassesPanelView.js.map +1 -0
  49. package/dist/components/SmartglassesSpatialView.d.ts +46 -0
  50. package/dist/components/SmartglassesSpatialView.d.ts.map +1 -0
  51. package/dist/components/SmartglassesSpatialView.js +240 -0
  52. package/dist/components/SmartglassesSpatialView.js.map +1 -0
  53. package/dist/components/facewear-profiles.d.ts +27 -0
  54. package/dist/components/facewear-profiles.d.ts.map +1 -0
  55. package/dist/components/facewear-profiles.js +40 -0
  56. package/dist/components/facewear-profiles.js.map +1 -0
  57. package/dist/devices/apple-vision-pro.d.ts +7 -0
  58. package/dist/devices/apple-vision-pro.d.ts.map +1 -0
  59. package/dist/devices/apple-vision-pro.js +21 -0
  60. package/dist/devices/apple-vision-pro.js.map +1 -0
  61. package/dist/devices/even-realities.d.ts +7 -0
  62. package/dist/devices/even-realities.d.ts.map +1 -0
  63. package/dist/devices/even-realities.js +13 -0
  64. package/dist/devices/even-realities.js.map +1 -0
  65. package/dist/devices/meta-quest.d.ts +5 -0
  66. package/dist/devices/meta-quest.d.ts.map +1 -0
  67. package/dist/devices/meta-quest.js +21 -0
  68. package/dist/devices/meta-quest.js.map +1 -0
  69. package/dist/devices/registry.d.ts +19 -0
  70. package/dist/devices/registry.d.ts.map +1 -0
  71. package/dist/devices/registry.js +96 -0
  72. package/dist/devices/registry.js.map +1 -0
  73. package/dist/devices/xreal.d.ts +7 -0
  74. package/dist/devices/xreal.d.ts.map +1 -0
  75. package/dist/devices/xreal.js +19 -0
  76. package/dist/devices/xreal.js.map +1 -0
  77. package/dist/index.d.ts +28 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.js +260 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/protocol/smartglasses.d.ts +306 -0
  82. package/dist/protocol/smartglasses.d.ts.map +1 -0
  83. package/dist/protocol/smartglasses.js +1485 -0
  84. package/dist/protocol/smartglasses.js.map +1 -0
  85. package/dist/protocol/xr.d.ts +137 -0
  86. package/dist/protocol/xr.d.ts.map +1 -0
  87. package/dist/protocol/xr.js +18 -0
  88. package/dist/protocol/xr.js.map +1 -0
  89. package/dist/providers/facewear-context.d.ts +3 -0
  90. package/dist/providers/facewear-context.d.ts.map +1 -0
  91. package/dist/providers/facewear-context.js +59 -0
  92. package/dist/providers/facewear-context.js.map +1 -0
  93. package/dist/providers/smartglasses-status.d.ts +3 -0
  94. package/dist/providers/smartglasses-status.d.ts.map +1 -0
  95. package/dist/providers/smartglasses-status.js +33 -0
  96. package/dist/providers/smartglasses-status.js.map +1 -0
  97. package/dist/register-terminal-view.d.ts +21 -0
  98. package/dist/register-terminal-view.d.ts.map +1 -0
  99. package/dist/register-terminal-view.js +70 -0
  100. package/dist/register-terminal-view.js.map +1 -0
  101. package/dist/register.d.ts +8 -0
  102. package/dist/register.d.ts.map +1 -0
  103. package/dist/register.js +116 -0
  104. package/dist/register.js.map +1 -0
  105. package/dist/routes/connect.d.ts +3 -0
  106. package/dist/routes/connect.d.ts.map +1 -0
  107. package/dist/routes/connect.js +86 -0
  108. package/dist/routes/connect.js.map +1 -0
  109. package/dist/routes/device-config.d.ts +5 -0
  110. package/dist/routes/device-config.d.ts.map +1 -0
  111. package/dist/routes/device-config.js +56 -0
  112. package/dist/routes/device-config.js.map +1 -0
  113. package/dist/routes/simulator-route.d.ts +8 -0
  114. package/dist/routes/simulator-route.d.ts.map +1 -0
  115. package/dist/routes/simulator-route.js +32 -0
  116. package/dist/routes/simulator-route.js.map +1 -0
  117. package/dist/routes/status.d.ts +3 -0
  118. package/dist/routes/status.d.ts.map +1 -0
  119. package/dist/routes/status.js +34 -0
  120. package/dist/routes/status.js.map +1 -0
  121. package/dist/routes/view-host.d.ts +24 -0
  122. package/dist/routes/view-host.d.ts.map +1 -0
  123. package/dist/routes/view-host.js +339 -0
  124. package/dist/routes/view-host.js.map +1 -0
  125. package/dist/routes/views.d.ts +8 -0
  126. package/dist/routes/views.d.ts.map +1 -0
  127. package/dist/routes/views.js +31 -0
  128. package/dist/routes/views.js.map +1 -0
  129. package/dist/services/audio-pipeline.d.ts +20 -0
  130. package/dist/services/audio-pipeline.d.ts.map +1 -0
  131. package/dist/services/audio-pipeline.js +87 -0
  132. package/dist/services/audio-pipeline.js.map +1 -0
  133. package/dist/services/facewear-service.d.ts +26 -0
  134. package/dist/services/facewear-service.d.ts.map +1 -0
  135. package/dist/services/facewear-service.js +45 -0
  136. package/dist/services/facewear-service.js.map +1 -0
  137. package/dist/services/smartglasses-service.d.ts +244 -0
  138. package/dist/services/smartglasses-service.d.ts.map +1 -0
  139. package/dist/services/smartglasses-service.js +821 -0
  140. package/dist/services/smartglasses-service.js.map +1 -0
  141. package/dist/services/vision-pipeline.d.ts +16 -0
  142. package/dist/services/vision-pipeline.d.ts.map +1 -0
  143. package/dist/services/vision-pipeline.js +39 -0
  144. package/dist/services/vision-pipeline.js.map +1 -0
  145. package/dist/services/xr-session-service.d.ts +54 -0
  146. package/dist/services/xr-session-service.d.ts.map +1 -0
  147. package/dist/services/xr-session-service.js +345 -0
  148. package/dist/services/xr-session-service.js.map +1 -0
  149. package/dist/status-format.d.ts +15 -0
  150. package/dist/status-format.d.ts.map +1 -0
  151. package/dist/status-format.js +89 -0
  152. package/dist/status-format.js.map +1 -0
  153. package/dist/transport/even-bridge.d.ts +69 -0
  154. package/dist/transport/even-bridge.d.ts.map +1 -0
  155. package/dist/transport/even-bridge.js +510 -0
  156. package/dist/transport/even-bridge.js.map +1 -0
  157. package/dist/transport/mock.d.ts +42 -0
  158. package/dist/transport/mock.d.ts.map +1 -0
  159. package/dist/transport/mock.js +124 -0
  160. package/dist/transport/mock.js.map +1 -0
  161. package/dist/transport/noble.d.ts +62 -0
  162. package/dist/transport/noble.d.ts.map +1 -0
  163. package/dist/transport/noble.js +256 -0
  164. package/dist/transport/noble.js.map +1 -0
  165. package/dist/transport/types.d.ts +36 -0
  166. package/dist/transport/types.d.ts.map +1 -0
  167. package/dist/transport/types.js +1 -0
  168. package/dist/transport/types.js.map +1 -0
  169. package/dist/transport/web-bluetooth.d.ts +58 -0
  170. package/dist/transport/web-bluetooth.d.ts.map +1 -0
  171. package/dist/transport/web-bluetooth.js +164 -0
  172. package/dist/transport/web-bluetooth.js.map +1 -0
  173. package/dist/ui/FacewearAppView.d.ts +4 -0
  174. package/dist/ui/FacewearAppView.d.ts.map +1 -0
  175. package/dist/ui/FacewearAppView.js +257 -0
  176. package/dist/ui/FacewearAppView.js.map +1 -0
  177. package/dist/ui/SmartglassesView.d.ts +10 -0
  178. package/dist/ui/SmartglassesView.d.ts.map +1 -0
  179. package/dist/ui/SmartglassesView.helpers.d.ts +104 -0
  180. package/dist/ui/SmartglassesView.helpers.d.ts.map +1 -0
  181. package/dist/ui/SmartglassesView.helpers.js +261 -0
  182. package/dist/ui/SmartglassesView.helpers.js.map +1 -0
  183. package/dist/ui/SmartglassesView.js +1189 -0
  184. package/dist/ui/SmartglassesView.js.map +1 -0
  185. package/dist/ui/facewear-view-bundle.d.ts +5 -0
  186. package/dist/ui/facewear-view-bundle.d.ts.map +1 -0
  187. package/dist/ui/facewear-view-bundle.js +17 -0
  188. package/dist/ui/facewear-view-bundle.js.map +1 -0
  189. package/dist/views/bundle.js +2950 -0
  190. package/dist/views/bundle.js.map +1 -0
  191. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/SmartglassesSpatialView.tsx"],"sourcesContent":["/**\n * SmartglassesSpatialView - the Even Realities smartglasses diagnostics surface\n * authored once with the spatial vocabulary, so it renders correctly wherever\n * it is displayed:\n *\n * - GUI / XR - mounted in `<SpatialSurface>` (DOM; XR scales up).\n * - TUI - rendered to real terminal lines by the agent terminal, via\n * `registerSpatialTerminalView` (see `register-terminal-view.tsx`).\n *\n * It is purely presentational (a snapshot + an action callback in, primitives\n * out) and imports only the cross-modality primitives plus a type-only view of\n * the smartglasses report (`HardwareReport`, `GlassSide`), so it is safe to\n * render in the Node agent process where the terminal lives (no transport or\n * BLE runtime import).\n *\n * The full GUI dashboard (`SmartglassesView.tsx`) is unchanged; this view is the\n * shared operator panel that reads the same computed `HardwareReport` the GUI\n * builds, plus the live state the GUI tracks (Wi-Fi, mic, test text, events).\n */\n\nimport {\n Button,\n Card,\n Divider,\n Field,\n HStack,\n List,\n type SpatialTone,\n Text,\n} from \"@elizaos/ui/spatial\";\nimport type { GlassSide } from \"../protocol/smartglasses.js\";\nimport type {\n HardwareReport,\n LensState,\n} from \"../ui/SmartglassesView.helpers.js\";\n\n/** Visible row caps - mirror the GUI dashboard (`SmartglassesView.tsx`). */\nconst VISIBLE_TEST_LIMIT = 8;\nconst VISIBLE_EVENT_LIMIT = 12;\nconst VISIBLE_WIFI_LIMIT = 5;\n\nexport type SmartglassesPlatform = \"desktop\" | \"ios\" | \"android\";\n\nexport interface SmartglassesSnapshot {\n /** The computed hardware report - identical shape to the GUI's `report`. */\n report: HardwareReport;\n /** Live operator state the GUI tracks alongside the report. */\n micEnabled: boolean;\n wifiSsid: string;\n wifiPassword: string;\n testText: string;\n activePlatform: SmartglassesPlatform;\n /** Label of the in-flight operation, or null when idle. */\n busy: string | null;\n /** Last operator-facing error, or null. */\n error: string | null;\n}\n\nfunction lensTone(state: LensState): SpatialTone {\n switch (state) {\n case \"connected\":\n return \"success\";\n case \"failed\":\n return \"danger\";\n case \"prompting\":\n return \"warning\";\n default:\n return \"muted\";\n }\n}\n\nfunction lensMark(state: LensState): string {\n switch (state) {\n case \"connected\":\n return \"[ok]\";\n case \"failed\":\n return \"[x]\";\n case \"prompting\":\n return \"[..]\";\n default:\n return \"[ ]\";\n }\n}\n\nfunction passTone(pass: boolean): SpatialTone {\n return pass ? \"success\" : \"muted\";\n}\n\nfunction passMark(pass: boolean): string {\n return pass ? \"[ok]\" : \"[ ]\";\n}\n\n/** Human-friendly battery summary from the report headset state. */\nfunction batterySummary(\n levels: Partial<Record<GlassSide, number>>,\n): string | null {\n const parts: string[] = [];\n if (typeof levels.left === \"number\") parts.push(`L ${levels.left}%`);\n if (typeof levels.right === \"number\") parts.push(`R ${levels.right}%`);\n return parts.length > 0 ? parts.join(\" \") : null;\n}\n\nexport interface SmartglassesSpatialViewProps {\n snapshot: SmartglassesSnapshot;\n /**\n * Dispatch by agent id: `connect`, `run-check`, `clear-display`,\n * `display-test`, `mic-toggle`, `wifi-scan`, `wifi-status`, `wifi-save`,\n * `platform:<desktop|ios|android>`.\n */\n onAction?: (action: string) => void;\n}\n\nexport function SmartglassesSpatialView({\n snapshot,\n onAction,\n}: SmartglassesSpatialViewProps) {\n const dispatch = (action: string) => () => onAction?.(action);\n const { report } = snapshot;\n const testEntries = Object.entries(report.tests);\n const hiddenTests = Math.max(0, testEntries.length - VISIBLE_TEST_LIMIT);\n const hiddenEvents = Math.max(0, report.events.length - VISIBLE_EVENT_LIMIT);\n const hiddenWifi = Math.max(\n 0,\n report.wifi.networks.length - VISIBLE_WIFI_LIMIT,\n );\n const battery = batterySummary(report.headsetState.batteryLevels);\n // Newest-first window over the event log, keyed by absolute index so keys are\n // stable across renders even when two events share a timestamp.\n const eventStart = Math.max(0, report.events.length - VISIBLE_EVENT_LIMIT);\n const recentEvents = report.events\n .slice(eventStart)\n .map((event, offset) => ({ ...event, key: eventStart + offset }))\n .reverse();\n\n return (\n <Card gap={1} padding={1}>\n <HStack gap={1} align=\"center\">\n <Text\n style=\"caption\"\n tone={report.ok ? \"success\" : report.connected ? \"warning\" : \"danger\"}\n grow={1}\n >\n {report.ok\n ? \"validated\"\n : report.connected\n ? \"connected\"\n : \"disconnected\"}\n </Text>\n <Text style=\"caption\" tone=\"muted\">\n {snapshot.busy ? snapshot.busy : (report.transport ?? \"no transport\")}\n </Text>\n </HStack>\n\n {snapshot.error ? (\n <Text tone=\"danger\" style=\"caption\">\n {snapshot.error}\n </Text>\n ) : null}\n\n <HStack gap={1} align=\"center\">\n <Text style=\"caption\" tone={lensTone(report.lenses.left)} grow={1}>\n {lensMark(report.lenses.left)} left\n </Text>\n <Text style=\"caption\" tone={lensTone(report.lenses.right)} grow={1}>\n {lensMark(report.lenses.right)} right\n </Text>\n </HStack>\n\n <HStack gap={1} align=\"center\">\n <Text style=\"caption\" tone=\"muted\" grow={1}>\n {report.serialNumber ? `sn ${report.serialNumber}` : \"sn unknown\"}\n </Text>\n {battery ? (\n <Text style=\"caption\" tone=\"muted\">\n {battery}\n </Text>\n ) : null}\n </HStack>\n\n {report.setupHint ? (\n <Text style=\"caption\" tone=\"warning\">\n {report.setupHint}\n </Text>\n ) : null}\n\n <Divider label=\"diagnostics\" />\n <List gap={0}>\n {testEntries.slice(0, VISIBLE_TEST_LIMIT).map(([name, pass]) => (\n <HStack key={name} gap={1} align=\"center\" agent={`test-${name}`}>\n <Text tone={passTone(pass)}>{passMark(pass)}</Text>\n <Text style=\"caption\" grow={1} wrap={false}>\n {name}\n </Text>\n </HStack>\n ))}\n </List>\n {hiddenTests > 0 ? (\n <Text style=\"caption\" tone=\"muted\">\n +{hiddenTests} checks\n </Text>\n ) : null}\n\n <Divider label=\"controls\" />\n <HStack gap={1} wrap>\n <Button\n grow={1}\n tone={report.connected ? \"default\" : \"primary\"}\n variant={report.connected ? \"outline\" : \"solid\"}\n agent=\"connect\"\n onPress={dispatch(\"connect\")}\n >\n {report.connected ? \"Reconnect\" : \"Connect\"}\n </Button>\n <Button\n variant=\"outline\"\n tone=\"default\"\n grow={1}\n agent=\"run-check\"\n onPress={dispatch(\"run-check\")}\n >\n Run Check\n </Button>\n <Button\n variant={snapshot.micEnabled ? \"solid\" : \"outline\"}\n tone={snapshot.micEnabled ? \"success\" : \"default\"}\n agent=\"mic-toggle\"\n onPress={dispatch(\"mic-toggle\")}\n >\n {snapshot.micEnabled ? \"Mic on\" : \"Mic off\"}\n </Button>\n </HStack>\n\n <Field\n label=\"Display text\"\n value={snapshot.testText}\n placeholder=\"Text to send to both lenses\"\n agent=\"test-text\"\n />\n <HStack gap={1} wrap>\n <Button\n grow={1}\n agent=\"display-test\"\n onPress={dispatch(\"display-test\")}\n >\n Send Display\n </Button>\n <Button\n variant=\"ghost\"\n tone=\"danger\"\n agent=\"clear-display\"\n onPress={dispatch(\"clear-display\")}\n >\n Clear\n </Button>\n </HStack>\n\n <Divider label=\"wi-fi\" />\n <HStack gap={1} align=\"center\">\n <Text style=\"caption\" tone=\"muted\" grow={1} wrap={false}>\n {report.wifi.status}\n </Text>\n <Text style=\"caption\" tone={report.wifi.available ? \"muted\" : \"danger\"}>\n {report.wifi.available ? \"bridge\" : \"no bridge\"}\n </Text>\n </HStack>\n <Field\n label=\"SSID\"\n value={snapshot.wifiSsid}\n placeholder=\"Network name\"\n agent=\"wifi-ssid\"\n />\n <Field\n label=\"Password\"\n kind=\"password\"\n value={snapshot.wifiPassword}\n placeholder=\"Network password\"\n agent=\"wifi-password\"\n />\n <HStack gap={1} wrap>\n <Button\n variant=\"outline\"\n tone=\"default\"\n grow={1}\n agent=\"wifi-scan\"\n onPress={dispatch(\"wifi-scan\")}\n >\n Scan\n </Button>\n <Button\n variant=\"outline\"\n tone=\"default\"\n grow={1}\n agent=\"wifi-status\"\n onPress={dispatch(\"wifi-status\")}\n >\n Status\n </Button>\n <Button grow={1} agent=\"wifi-save\" onPress={dispatch(\"wifi-save\")}>\n Save Wi-Fi\n </Button>\n </HStack>\n {report.wifi.networks.length === 0 ? (\n <Text style=\"caption\" tone=\"muted\">\n None\n </Text>\n ) : (\n <List gap={0}>\n {report.wifi.networks.slice(0, VISIBLE_WIFI_LIMIT).map((network) => (\n <Text key={network} style=\"caption\" wrap={false}>\n {network}\n </Text>\n ))}\n </List>\n )}\n {hiddenWifi > 0 ? (\n <Text style=\"caption\" tone=\"muted\">\n +{hiddenWifi} more\n </Text>\n ) : null}\n\n <Divider label=\"events\" />\n {report.events.length === 0 ? (\n <Text style=\"caption\" tone=\"muted\" align=\"center\">\n None\n </Text>\n ) : (\n <List gap={0}>\n {recentEvents.map((event) => (\n <HStack key={event.key} gap={1} align=\"center\">\n <Text style=\"caption\" tone=\"primary\" wrap={false}>\n {event.type}\n </Text>\n <Text style=\"caption\" tone=\"muted\" grow={1} wrap={false}>\n {event.detail}\n </Text>\n </HStack>\n ))}\n </List>\n )}\n {hiddenEvents > 0 ? (\n <Text style=\"caption\" tone=\"muted\">\n +{hiddenEvents} older events\n </Text>\n ) : null}\n </Card>\n );\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,27 @@
1
+ import type { FacewearDeviceType } from "../devices/registry.js";
2
+ /** A connected facewear device, mirrored from `/api/facewear/status`. */
3
+ export interface ConnectedDevice {
4
+ id: string;
5
+ kind: "xr" | "smartglasses";
6
+ deviceType?: string;
7
+ }
8
+ export interface FacewearStatusResponse {
9
+ connected: boolean;
10
+ devices: ConnectedDevice[];
11
+ }
12
+ /** A supported device the operator can connect/manage. */
13
+ export interface FacewearDeviceProfileRow {
14
+ type: FacewearDeviceType;
15
+ name: string;
16
+ manufacturer: string;
17
+ connectionType: string;
18
+ description: string;
19
+ }
20
+ export declare const FACEWEAR_DEVICE_PROFILES: readonly FacewearDeviceProfileRow[];
21
+ /**
22
+ * A profile is connected when a live device matches it directly (deviceType),
23
+ * via the Even Realities smartglasses rule (kind === "smartglasses"), or via the
24
+ * WebXR rule (any xr-kind device lights up every WebXR profile).
25
+ */
26
+ export declare function isProfileConnected(profile: FacewearDeviceProfileRow, devices: readonly ConnectedDevice[]): boolean;
27
+ //# sourceMappingURL=facewear-profiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facewear-profiles.d.ts","sourceRoot":"","sources":["../../src/components/facewear-profiles.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,GAAG,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED,0DAA0D;AAC1D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,wBAAwB,EA6BvE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,SAAS,eAAe,EAAE,GAClC,OAAO,CAOT"}
@@ -0,0 +1,40 @@
1
+ const FACEWEAR_DEVICE_PROFILES = [
2
+ {
3
+ type: "meta-quest",
4
+ name: "Meta Quest 3 / 3S / Pro",
5
+ manufacturer: "Meta",
6
+ connectionType: "WebXR",
7
+ description: "Passthrough AR/VR"
8
+ },
9
+ {
10
+ type: "xreal",
11
+ name: "XReal Air 3 / One Pro",
12
+ manufacturer: "XREAL",
13
+ connectionType: "WebXR",
14
+ description: "Spatial display"
15
+ },
16
+ {
17
+ type: "even-realities",
18
+ name: "Even Realities G1 / G2",
19
+ manufacturer: "Even Realities",
20
+ connectionType: "Bluetooth BLE",
21
+ description: "OLED display and mic"
22
+ },
23
+ {
24
+ type: "apple-vision-pro",
25
+ name: "Apple Vision Pro",
26
+ manufacturer: "Apple",
27
+ connectionType: "WebXR",
28
+ description: "visionOS headset"
29
+ }
30
+ ];
31
+ function isProfileConnected(profile, devices) {
32
+ return devices.some(
33
+ (device) => device.deviceType === profile.type || profile.type === "even-realities" && device.kind === "smartglasses" || profile.connectionType === "WebXR" && device.kind === "xr"
34
+ );
35
+ }
36
+ export {
37
+ FACEWEAR_DEVICE_PROFILES,
38
+ isProfileConnected
39
+ };
40
+ //# sourceMappingURL=facewear-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/facewear-profiles.ts"],"sourcesContent":["// Pure facewear device-profile data + connected-state derivation, shared by the\n// legacy GUI dashboard (FacewearAppView.tsx) and the unified data wrapper\n// (FacewearView.tsx). Split out so the .tsx files export only React components\n// and stay Fast-Refresh-compatible (Vite full-reloads a component file that also\n// exports plain data/functions).\n\nimport type { FacewearDeviceType } from \"../devices/registry.js\";\n\n/** A connected facewear device, mirrored from `/api/facewear/status`. */\nexport interface ConnectedDevice {\n id: string;\n kind: \"xr\" | \"smartglasses\";\n deviceType?: string;\n}\n\nexport interface FacewearStatusResponse {\n connected: boolean;\n devices: ConnectedDevice[];\n}\n\n/** A supported device the operator can connect/manage. */\nexport interface FacewearDeviceProfileRow {\n type: FacewearDeviceType;\n name: string;\n manufacturer: string;\n connectionType: string;\n description: string;\n}\n\nexport const FACEWEAR_DEVICE_PROFILES: readonly FacewearDeviceProfileRow[] = [\n {\n type: \"meta-quest\",\n name: \"Meta Quest 3 / 3S / Pro\",\n manufacturer: \"Meta\",\n connectionType: \"WebXR\",\n description: \"Passthrough AR/VR\",\n },\n {\n type: \"xreal\",\n name: \"XReal Air 3 / One Pro\",\n manufacturer: \"XREAL\",\n connectionType: \"WebXR\",\n description: \"Spatial display\",\n },\n {\n type: \"even-realities\",\n name: \"Even Realities G1 / G2\",\n manufacturer: \"Even Realities\",\n connectionType: \"Bluetooth BLE\",\n description: \"OLED display and mic\",\n },\n {\n type: \"apple-vision-pro\",\n name: \"Apple Vision Pro\",\n manufacturer: \"Apple\",\n connectionType: \"WebXR\",\n description: \"visionOS headset\",\n },\n];\n\n/**\n * A profile is connected when a live device matches it directly (deviceType),\n * via the Even Realities smartglasses rule (kind === \"smartglasses\"), or via the\n * WebXR rule (any xr-kind device lights up every WebXR profile).\n */\nexport function isProfileConnected(\n profile: FacewearDeviceProfileRow,\n devices: readonly ConnectedDevice[],\n): boolean {\n return devices.some(\n (device) =>\n device.deviceType === profile.type ||\n (profile.type === \"even-realities\" && device.kind === \"smartglasses\") ||\n (profile.connectionType === \"WebXR\" && device.kind === \"xr\"),\n );\n}\n"],"mappings":"AA6BO,MAAM,2BAAgE;AAAA,EAC3E;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,EACf;AAAA,EACA;AAAA,IACE,MAAM;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,EACf;AACF;AAOO,SAAS,mBACd,SACA,SACS;AACT,SAAO,QAAQ;AAAA,IACb,CAAC,WACC,OAAO,eAAe,QAAQ,QAC7B,QAAQ,SAAS,oBAAoB,OAAO,SAAS,kBACrD,QAAQ,mBAAmB,WAAW,OAAO,SAAS;AAAA,EAC3D;AACF;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { DEVICE_REGISTRY } from "./registry.js";
2
+ export declare const AVP_WEBXR_FEATURES: string[];
3
+ export declare const VISIONOS_MIN_VERSION = "1.0";
4
+ export declare const VISIONOS_RECOMMENDED_VERSION = "2.4";
5
+ export declare const AVP_SAFARI_WEBXR_SUPPORT = "visionOS 1.1+";
6
+ export declare const AVP_WKWEBVIEW_WEBXR = true;
7
+ //# sourceMappingURL=apple-vision-pro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apple-vision-pro.d.ts","sourceRoot":"","sources":["../../src/devices/apple-vision-pro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,eAAO,MAAM,kBAAkB,UAM9B,CAAC;AACF,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,4BAA4B,QAAQ,CAAC;AAClD,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAGxD,eAAO,MAAM,mBAAmB,OAAO,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DEVICE_REGISTRY } from "./registry.js";
2
+ const AVP_WEBXR_FEATURES = [
3
+ "local-floor",
4
+ "hit-test",
5
+ "dom-overlay",
6
+ "eye-tracking",
7
+ "hand-tracking"
8
+ ];
9
+ const VISIONOS_MIN_VERSION = "1.0";
10
+ const VISIONOS_RECOMMENDED_VERSION = "2.4";
11
+ const AVP_SAFARI_WEBXR_SUPPORT = "visionOS 1.1+";
12
+ const AVP_WKWEBVIEW_WEBXR = true;
13
+ export {
14
+ AVP_SAFARI_WEBXR_SUPPORT,
15
+ AVP_WEBXR_FEATURES,
16
+ AVP_WKWEBVIEW_WEBXR,
17
+ DEVICE_REGISTRY,
18
+ VISIONOS_MIN_VERSION,
19
+ VISIONOS_RECOMMENDED_VERSION
20
+ };
21
+ //# sourceMappingURL=apple-vision-pro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devices/apple-vision-pro.ts"],"sourcesContent":["export { DEVICE_REGISTRY } from \"./registry.js\";\nexport const AVP_WEBXR_FEATURES = [\n \"local-floor\",\n \"hit-test\",\n \"dom-overlay\",\n \"eye-tracking\",\n \"hand-tracking\",\n];\nexport const VISIONOS_MIN_VERSION = \"1.0\";\nexport const VISIONOS_RECOMMENDED_VERSION = \"2.4\";\nexport const AVP_SAFARI_WEBXR_SUPPORT = \"visionOS 1.1+\";\n// visionOS WebXR is supported in Safari and WKWebView on visionOS 1.1+\n// The facewear PWA runs inside WKWebView in the ElizaFacewear native app\nexport const AVP_WKWEBVIEW_WEBXR = true;\n"],"mappings":"AAAA,SAAS,uBAAuB;AACzB,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,uBAAuB;AAC7B,MAAM,+BAA+B;AACrC,MAAM,2BAA2B;AAGjC,MAAM,sBAAsB;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { DEVICE_REGISTRY } from "./registry.js";
2
+ export declare const EVEN_G1_UART_SERVICE_UUID = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
3
+ export declare const EVEN_G1_TX_CHAR_UUID = "6e400002-b5a3-f393-e0a9-e50e24dcca9e";
4
+ export declare const EVEN_G1_RX_CHAR_UUID = "6e400003-b5a3-f393-e0a9-e50e24dcca9e";
5
+ export declare const EVEN_REALITIES_DEVICE_TYPES: readonly ["g1", "g2"];
6
+ export type EvenRealitiesDeviceType = (typeof EVEN_REALITIES_DEVICE_TYPES)[number];
7
+ //# sourceMappingURL=even-realities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"even-realities.d.ts","sourceRoot":"","sources":["../../src/devices/even-realities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,eAAO,MAAM,yBAAyB,yCAAyC,CAAC;AAChF,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAC3E,eAAO,MAAM,2BAA2B,uBAAwB,CAAC;AACjE,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { DEVICE_REGISTRY } from "./registry.js";
2
+ const EVEN_G1_UART_SERVICE_UUID = "6e400001-b5a3-f393-e0a9-e50e24dcca9e";
3
+ const EVEN_G1_TX_CHAR_UUID = "6e400002-b5a3-f393-e0a9-e50e24dcca9e";
4
+ const EVEN_G1_RX_CHAR_UUID = "6e400003-b5a3-f393-e0a9-e50e24dcca9e";
5
+ const EVEN_REALITIES_DEVICE_TYPES = ["g1", "g2"];
6
+ export {
7
+ DEVICE_REGISTRY,
8
+ EVEN_G1_RX_CHAR_UUID,
9
+ EVEN_G1_TX_CHAR_UUID,
10
+ EVEN_G1_UART_SERVICE_UUID,
11
+ EVEN_REALITIES_DEVICE_TYPES
12
+ };
13
+ //# sourceMappingURL=even-realities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devices/even-realities.ts"],"sourcesContent":["export { DEVICE_REGISTRY } from \"./registry.js\";\nexport const EVEN_G1_UART_SERVICE_UUID = \"6e400001-b5a3-f393-e0a9-e50e24dcca9e\";\nexport const EVEN_G1_TX_CHAR_UUID = \"6e400002-b5a3-f393-e0a9-e50e24dcca9e\";\nexport const EVEN_G1_RX_CHAR_UUID = \"6e400003-b5a3-f393-e0a9-e50e24dcca9e\";\nexport const EVEN_REALITIES_DEVICE_TYPES = [\"g1\", \"g2\"] as const;\nexport type EvenRealitiesDeviceType =\n (typeof EVEN_REALITIES_DEVICE_TYPES)[number];\n"],"mappings":"AAAA,SAAS,uBAAuB;AACzB,MAAM,4BAA4B;AAClC,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB;AAC7B,MAAM,8BAA8B,CAAC,MAAM,IAAI;","names":[]}
@@ -0,0 +1,5 @@
1
+ export { DEVICE_REGISTRY } from "./registry.js";
2
+ export declare const META_QUEST_WEBXR_FEATURES: string[];
3
+ export declare const META_QUEST_DEVICE_TYPES: readonly ["quest3", "quest3s", "questpro", "quest2"];
4
+ export type MetaQuestDeviceType = (typeof META_QUEST_DEVICE_TYPES)[number];
5
+ //# sourceMappingURL=meta-quest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-quest.d.ts","sourceRoot":"","sources":["../../src/devices/meta-quest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,eAAO,MAAM,yBAAyB,UAOrC,CAAC;AACF,eAAO,MAAM,uBAAuB,sDAK1B,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DEVICE_REGISTRY } from "./registry.js";
2
+ const META_QUEST_WEBXR_FEATURES = [
3
+ "hand-tracking",
4
+ "hit-test",
5
+ "local-floor",
6
+ "bounded-floor",
7
+ "layers",
8
+ "depth-sensing"
9
+ ];
10
+ const META_QUEST_DEVICE_TYPES = [
11
+ "quest3",
12
+ "quest3s",
13
+ "questpro",
14
+ "quest2"
15
+ ];
16
+ export {
17
+ DEVICE_REGISTRY,
18
+ META_QUEST_DEVICE_TYPES,
19
+ META_QUEST_WEBXR_FEATURES
20
+ };
21
+ //# sourceMappingURL=meta-quest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devices/meta-quest.ts"],"sourcesContent":["export { DEVICE_REGISTRY } from \"./registry.js\";\nexport const META_QUEST_WEBXR_FEATURES = [\n \"hand-tracking\",\n \"hit-test\",\n \"local-floor\",\n \"bounded-floor\",\n \"layers\",\n \"depth-sensing\",\n];\nexport const META_QUEST_DEVICE_TYPES = [\n \"quest3\",\n \"quest3s\",\n \"questpro\",\n \"quest2\",\n] as const;\nexport type MetaQuestDeviceType = (typeof META_QUEST_DEVICE_TYPES)[number];\n"],"mappings":"AAAA,SAAS,uBAAuB;AACzB,MAAM,4BAA4B;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,MAAM,0BAA0B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;","names":[]}
@@ -0,0 +1,19 @@
1
+ export type FacewearDeviceType = "meta-quest" | "xreal" | "even-realities" | "apple-vision-pro" | "simulator";
2
+ export interface FacewearDeviceProfile {
3
+ id: FacewearDeviceType;
4
+ displayName: string;
5
+ manufacturer: string;
6
+ connectionType: "webxr" | "ble" | "webxr+ble";
7
+ features: string[];
8
+ sdkName?: string;
9
+ sdkVersion?: string;
10
+ sdkUrl?: string;
11
+ emulatorSupported: boolean;
12
+ nativeAppPlatform?: "android" | "visionos" | "both";
13
+ nativeAppPath?: string;
14
+ }
15
+ export declare const DEVICE_REGISTRY: Record<FacewearDeviceType, FacewearDeviceProfile>;
16
+ export declare function getDeviceProfile(deviceType: FacewearDeviceType): FacewearDeviceProfile;
17
+ export declare function isFacewearDeviceType(value: string): value is FacewearDeviceType;
18
+ export declare function getAllDeviceProfiles(): FacewearDeviceProfile[];
19
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/devices/registry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,OAAO,GACP,gBAAgB,GAChB,kBAAkB,GAClB,WAAW,CAAC;AAEhB,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,kBAAkB,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IAC9C,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAClC,kBAAkB,EAClB,qBAAqB,CAgFtB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,kBAAkB,GAC7B,qBAAqB,CAEvB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GACZ,KAAK,IAAI,kBAAkB,CAE7B;AAED,wBAAgB,oBAAoB,IAAI,qBAAqB,EAAE,CAE9D"}
@@ -0,0 +1,96 @@
1
+ const DEVICE_REGISTRY = {
2
+ "meta-quest": {
3
+ id: "meta-quest",
4
+ displayName: "Meta Quest 3 / 3S / Pro",
5
+ manufacturer: "Meta",
6
+ connectionType: "webxr",
7
+ features: [
8
+ "webxr",
9
+ "hand-tracking",
10
+ "passthrough",
11
+ "room-scale",
12
+ "eye-tracking"
13
+ ],
14
+ sdkName: "Meta XR SDK",
15
+ sdkVersion: "68.0",
16
+ sdkUrl: "https://developer.oculus.com/downloads/",
17
+ emulatorSupported: true,
18
+ nativeAppPlatform: "android",
19
+ nativeAppPath: "native/android/quest"
20
+ },
21
+ xreal: {
22
+ id: "xreal",
23
+ displayName: "XReal Air 3 / One Pro / Air 2 Ultra",
24
+ manufacturer: "XREAL",
25
+ connectionType: "webxr",
26
+ features: ["webxr", "3dof", "spatial-display", "ar-passthrough"],
27
+ sdkName: "XREAL SDK",
28
+ sdkVersion: "3.0.0",
29
+ sdkUrl: "https://developer.xreal.com/",
30
+ emulatorSupported: true,
31
+ nativeAppPlatform: "android",
32
+ nativeAppPath: "native/android/xreal"
33
+ },
34
+ "even-realities": {
35
+ id: "even-realities",
36
+ displayName: "Even Realities G1 / G2",
37
+ manufacturer: "Even Realities",
38
+ connectionType: "ble",
39
+ features: [
40
+ "ble",
41
+ "oled-display",
42
+ "microphone",
43
+ "side-tap",
44
+ "wifi-provisioning"
45
+ ],
46
+ sdkName: "G1 BLE Protocol (built-in)",
47
+ emulatorSupported: true,
48
+ nativeAppPlatform: "android",
49
+ nativeAppPath: "native/android/even-realities"
50
+ },
51
+ "apple-vision-pro": {
52
+ id: "apple-vision-pro",
53
+ displayName: "Apple Vision Pro",
54
+ manufacturer: "Apple",
55
+ connectionType: "webxr",
56
+ features: [
57
+ "visionos",
58
+ "webxr",
59
+ "eye-tracking",
60
+ "hand-tracking",
61
+ "spatial-audio",
62
+ "passthrough",
63
+ "realitykit"
64
+ ],
65
+ sdkName: "visionOS SDK",
66
+ sdkVersion: "2.4",
67
+ sdkUrl: "https://developer.apple.com/visionos/",
68
+ emulatorSupported: true,
69
+ nativeAppPlatform: "visionos",
70
+ nativeAppPath: "native/visionos"
71
+ },
72
+ simulator: {
73
+ id: "simulator",
74
+ displayName: "WebXR Simulator (Browser)",
75
+ manufacturer: "elizaOS",
76
+ connectionType: "webxr",
77
+ features: ["webxr", "simulated"],
78
+ emulatorSupported: true
79
+ }
80
+ };
81
+ function getDeviceProfile(deviceType) {
82
+ return DEVICE_REGISTRY[deviceType];
83
+ }
84
+ function isFacewearDeviceType(value) {
85
+ return Object.hasOwn(DEVICE_REGISTRY, value);
86
+ }
87
+ function getAllDeviceProfiles() {
88
+ return Object.values(DEVICE_REGISTRY);
89
+ }
90
+ export {
91
+ DEVICE_REGISTRY,
92
+ getAllDeviceProfiles,
93
+ getDeviceProfile,
94
+ isFacewearDeviceType
95
+ };
96
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devices/registry.ts"],"sourcesContent":["export type FacewearDeviceType =\n | \"meta-quest\"\n | \"xreal\"\n | \"even-realities\"\n | \"apple-vision-pro\"\n | \"simulator\";\n\nexport interface FacewearDeviceProfile {\n id: FacewearDeviceType;\n displayName: string;\n manufacturer: string;\n connectionType: \"webxr\" | \"ble\" | \"webxr+ble\";\n features: string[];\n sdkName?: string;\n sdkVersion?: string;\n sdkUrl?: string;\n emulatorSupported: boolean;\n nativeAppPlatform?: \"android\" | \"visionos\" | \"both\";\n nativeAppPath?: string;\n}\n\nexport const DEVICE_REGISTRY: Record<\n FacewearDeviceType,\n FacewearDeviceProfile\n> = {\n \"meta-quest\": {\n id: \"meta-quest\",\n displayName: \"Meta Quest 3 / 3S / Pro\",\n manufacturer: \"Meta\",\n connectionType: \"webxr\",\n features: [\n \"webxr\",\n \"hand-tracking\",\n \"passthrough\",\n \"room-scale\",\n \"eye-tracking\",\n ],\n sdkName: \"Meta XR SDK\",\n sdkVersion: \"68.0\",\n sdkUrl: \"https://developer.oculus.com/downloads/\",\n emulatorSupported: true,\n nativeAppPlatform: \"android\",\n nativeAppPath: \"native/android/quest\",\n },\n xreal: {\n id: \"xreal\",\n displayName: \"XReal Air 3 / One Pro / Air 2 Ultra\",\n manufacturer: \"XREAL\",\n connectionType: \"webxr\",\n features: [\"webxr\", \"3dof\", \"spatial-display\", \"ar-passthrough\"],\n sdkName: \"XREAL SDK\",\n sdkVersion: \"3.0.0\",\n sdkUrl: \"https://developer.xreal.com/\",\n emulatorSupported: true,\n nativeAppPlatform: \"android\",\n nativeAppPath: \"native/android/xreal\",\n },\n \"even-realities\": {\n id: \"even-realities\",\n displayName: \"Even Realities G1 / G2\",\n manufacturer: \"Even Realities\",\n connectionType: \"ble\",\n features: [\n \"ble\",\n \"oled-display\",\n \"microphone\",\n \"side-tap\",\n \"wifi-provisioning\",\n ],\n sdkName: \"G1 BLE Protocol (built-in)\",\n emulatorSupported: true,\n nativeAppPlatform: \"android\",\n nativeAppPath: \"native/android/even-realities\",\n },\n \"apple-vision-pro\": {\n id: \"apple-vision-pro\",\n displayName: \"Apple Vision Pro\",\n manufacturer: \"Apple\",\n connectionType: \"webxr\",\n features: [\n \"visionos\",\n \"webxr\",\n \"eye-tracking\",\n \"hand-tracking\",\n \"spatial-audio\",\n \"passthrough\",\n \"realitykit\",\n ],\n sdkName: \"visionOS SDK\",\n sdkVersion: \"2.4\",\n sdkUrl: \"https://developer.apple.com/visionos/\",\n emulatorSupported: true,\n nativeAppPlatform: \"visionos\",\n nativeAppPath: \"native/visionos\",\n },\n simulator: {\n id: \"simulator\",\n displayName: \"WebXR Simulator (Browser)\",\n manufacturer: \"elizaOS\",\n connectionType: \"webxr\",\n features: [\"webxr\", \"simulated\"],\n emulatorSupported: true,\n },\n};\n\nexport function getDeviceProfile(\n deviceType: FacewearDeviceType,\n): FacewearDeviceProfile {\n return DEVICE_REGISTRY[deviceType];\n}\n\nexport function isFacewearDeviceType(\n value: string,\n): value is FacewearDeviceType {\n return Object.hasOwn(DEVICE_REGISTRY, value);\n}\n\nexport function getAllDeviceProfiles(): FacewearDeviceProfile[] {\n return Object.values(DEVICE_REGISTRY);\n}\n"],"mappings":"AAqBO,MAAM,kBAGT;AAAA,EACF,cAAc;AAAA,IACZ,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,eAAe;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,UAAU,CAAC,SAAS,QAAQ,mBAAmB,gBAAgB;AAAA,IAC/D,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,eAAe;AAAA,EACjB;AAAA,EACA,kBAAkB;AAAA,IAChB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,IACT,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,eAAe;AAAA,EACjB;AAAA,EACA,oBAAoB;AAAA,IAClB,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,UAAU;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,eAAe;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,UAAU,CAAC,SAAS,WAAW;AAAA,IAC/B,mBAAmB;AAAA,EACrB;AACF;AAEO,SAAS,iBACd,YACuB;AACvB,SAAO,gBAAgB,UAAU;AACnC;AAEO,SAAS,qBACd,OAC6B;AAC7B,SAAO,OAAO,OAAO,iBAAiB,KAAK;AAC7C;AAEO,SAAS,uBAAgD;AAC9D,SAAO,OAAO,OAAO,eAAe;AACtC;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { DEVICE_REGISTRY } from "./registry.js";
2
+ export declare const XREAL_SDK_VERSION = "3.0.0";
3
+ export declare const XREAL_WEBXR_FEATURES: string[];
4
+ export declare const XREAL_DEVICE_TYPES: readonly ["xreal-air-3", "xreal-air-2-ultra", "xreal-air-2-pro", "xreal-one-pro", "xreal-one"];
5
+ export type XrealDeviceType = (typeof XREAL_DEVICE_TYPES)[number];
6
+ export declare const XREAL_CAMERA_RIG_CLASS = "com.xreal.nrsdk.NRCameraRig";
7
+ //# sourceMappingURL=xreal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xreal.d.ts","sourceRoot":"","sources":["../../src/devices/xreal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,eAAO,MAAM,iBAAiB,UAAU,CAAC;AACzC,eAAO,MAAM,oBAAoB,UAA6C,CAAC;AAC/E,eAAO,MAAM,kBAAkB,gGAMrB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB,gCAAgC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { DEVICE_REGISTRY } from "./registry.js";
2
+ const XREAL_SDK_VERSION = "3.0.0";
3
+ const XREAL_WEBXR_FEATURES = ["local-floor", "hit-test", "dom-overlay"];
4
+ const XREAL_DEVICE_TYPES = [
5
+ "xreal-air-3",
6
+ "xreal-air-2-ultra",
7
+ "xreal-air-2-pro",
8
+ "xreal-one-pro",
9
+ "xreal-one"
10
+ ];
11
+ const XREAL_CAMERA_RIG_CLASS = "com.xreal.nrsdk.NRCameraRig";
12
+ export {
13
+ DEVICE_REGISTRY,
14
+ XREAL_CAMERA_RIG_CLASS,
15
+ XREAL_DEVICE_TYPES,
16
+ XREAL_SDK_VERSION,
17
+ XREAL_WEBXR_FEATURES
18
+ };
19
+ //# sourceMappingURL=xreal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/devices/xreal.ts"],"sourcesContent":["export { DEVICE_REGISTRY } from \"./registry.js\";\nexport const XREAL_SDK_VERSION = \"3.0.0\";\nexport const XREAL_WEBXR_FEATURES = [\"local-floor\", \"hit-test\", \"dom-overlay\"];\nexport const XREAL_DEVICE_TYPES = [\n \"xreal-air-3\",\n \"xreal-air-2-ultra\",\n \"xreal-air-2-pro\",\n \"xreal-one-pro\",\n \"xreal-one\",\n] as const;\nexport type XrealDeviceType = (typeof XREAL_DEVICE_TYPES)[number];\n// XREAL SDK 3.0.0: NRCameraRig replaces Camera2 for camera access\nexport const XREAL_CAMERA_RIG_CLASS = \"com.xreal.nrsdk.NRCameraRig\";\n"],"mappings":"AAAA,SAAS,uBAAuB;AACzB,MAAM,oBAAoB;AAC1B,MAAM,uBAAuB,CAAC,eAAe,YAAY,aAAa;AACtE,MAAM,qBAAqB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,yBAAyB;","names":[]}
@@ -0,0 +1,28 @@
1
+ import type { Plugin } from "@elizaos/core";
2
+ export declare const facewearPlugin: Plugin;
3
+ export default facewearPlugin;
4
+ export declare const smartglassesPlugin: Plugin;
5
+ export { displayFacewearTextAction as displaySmartglassesTextAction } from "./actions/display-text.js";
6
+ export { facewearControlAction as smartglassesControlAction } from "./actions/facewear-control.js";
7
+ export { facewearStatusAction as smartglassesStatusAction } from "./actions/facewear-status.js";
8
+ export { facewearMicrophoneAction as smartglassesMicrophoneAction } from "./actions/microphone.js";
9
+ export { FacewearView } from "./components/FacewearView.js";
10
+ export { SmartglassesPanelView } from "./components/SmartglassesPanelView.js";
11
+ export type { FacewearDeviceProfile, FacewearDeviceType, } from "./devices/registry.js";
12
+ export { DEVICE_REGISTRY, getAllDeviceProfiles, getDeviceProfile, } from "./devices/registry.js";
13
+ export * from "./protocol/smartglasses.js";
14
+ export type * from "./protocol/xr.js";
15
+ export { smartglassesStatusProvider } from "./providers/smartglasses-status.js";
16
+ export { AudioPipeline } from "./services/audio-pipeline.js";
17
+ export { FACEWEAR_SERVICE_TYPE, FacewearService, } from "./services/facewear-service.js";
18
+ export type { SmartglassesAudioDecoder, SmartglassesDisplayMode, SmartglassesRsvpOptions, SmartglassesStatus, SmartglassesWriteTarget, } from "./services/smartglasses-service.js";
19
+ export { FACEWEAR_AUTO_INIT_SETTING, FACEWEAR_INIT_MODE_SETTING, FACEWEAR_SCAN_TIMEOUT_SETTING, FACEWEAR_SMARTGLASSES_TRANSPORT_SETTING, getSmartglassesService, SMARTGLASSES_AUDIO_EVENT, SMARTGLASSES_AUTO_INIT_SETTING, SMARTGLASSES_EVENT, SMARTGLASSES_INIT_MODE_SETTING, SMARTGLASSES_SCAN_TIMEOUT_SETTING, SMARTGLASSES_SERVICE_NAME, SMARTGLASSES_TRANSCRIPT_EVENT, SMARTGLASSES_TRANSPORT_SETTING, SmartglassesService, setSmartglassesAudioDecoderForRuntime, setSmartglassesTransportForRuntime, } from "./services/smartglasses-service.js";
20
+ export { VisionPipeline } from "./services/vision-pipeline.js";
21
+ export { XR_SERVICE_TYPE, XR_WS_PORT_DEFAULT, XRSessionService, } from "./services/xr-session-service.js";
22
+ export { EvenBridgeTransport, getGlobalEvenBridgeTransport, } from "./transport/even-bridge.js";
23
+ export { MockSmartglassesTransport } from "./transport/mock.js";
24
+ export type { NobleAdapterLike, NobleCharacteristicLike, NobleG1TransportOptions, NoblePeripheralLike, } from "./transport/noble.js";
25
+ export { getNobleG1Transport, NobleG1Transport } from "./transport/noble.js";
26
+ export type { SmartglassesTransport, SmartglassesTransportFactory, SmartglassesWifiResult, } from "./transport/types.js";
27
+ export { getWebBluetoothG1Transport, WebBluetoothG1Transport, } from "./transport/web-bluetooth.js";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AA+B3D,eAAO,MAAM,cAAc,EAAE,MA+I5B,CAAC;AAEF,eAAe,cAAc,CAAC;AAC9B,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,IAAI,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAEvG,OAAO,EAAE,qBAAqB,IAAI,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACnG,OAAO,EAAE,oBAAoB,IAAI,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,wBAAwB,IAAI,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAGnG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,YAAY,EACV,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,mBAAmB,kBAAkB,CAAC;AACtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,6BAA6B,EAC7B,uCAAuC,EACvC,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,kBAAkB,EAClB,8BAA8B,EAC9B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAC9B,mBAAmB,EACnB,qCAAqC,EACrC,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,EACnB,4BAA4B,GAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,8BAA8B,CAAC"}