@limrun/ui 0.9.0-rc.10 → 0.9.0-rc.12

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 (66) hide show
  1. package/README.md +0 -9
  2. package/dist/components/remote-control.d.ts +28 -0
  3. package/dist/index.cjs +1 -1
  4. package/dist/index.d.ts +0 -2
  5. package/dist/index.js +965 -945
  6. package/package.json +2 -15
  7. package/src/components/remote-control.tsx +65 -1
  8. package/src/index.ts +0 -3
  9. package/vite.config.ts +2 -6
  10. package/dist/components/device-install/device-install-dialog.d.ts +0 -5
  11. package/dist/components/device-install/index.d.ts +0 -2
  12. package/dist/core/device-install/apple/client.d.ts +0 -17
  13. package/dist/core/device-install/apple/crypto.d.ts +0 -20
  14. package/dist/core/device-install/apple/gsa-srp.d.ts +0 -26
  15. package/dist/core/device-install/apple/index.d.ts +0 -5
  16. package/dist/core/device-install/apple/provisioning.d.ts +0 -161
  17. package/dist/core/device-install/apple/relay.d.ts +0 -29
  18. package/dist/core/device-install/index.d.ts +0 -4
  19. package/dist/core/device-install/operations/index.d.ts +0 -6
  20. package/dist/core/device-install/operations/limbuild-client.d.ts +0 -28
  21. package/dist/core/device-install/operations/operations.d.ts +0 -32
  22. package/dist/core/device-install/operations/relay-client.d.ts +0 -25
  23. package/dist/core/device-install/operations/relay-protocol.d.ts +0 -27
  24. package/dist/core/device-install/operations/usbmux.d.ts +0 -32
  25. package/dist/core/device-install/operations/webusb.d.ts +0 -21
  26. package/dist/core/device-install/storage/browser-storage.d.ts +0 -44
  27. package/dist/core/device-install/storage/index.d.ts +0 -1
  28. package/dist/core/device-install/types.d.ts +0 -48
  29. package/dist/device-install/index.cjs +0 -1
  30. package/dist/device-install/index.d.ts +0 -3
  31. package/dist/device-install/index.js +0 -78
  32. package/dist/device-install/react.cjs +0 -1
  33. package/dist/device-install/react.d.ts +0 -1
  34. package/dist/device-install/react.js +0 -4
  35. package/dist/device-install-dialog-DJkKg8y6.mjs +0 -443
  36. package/dist/device-install-dialog-DfRemlSg.js +0 -2
  37. package/dist/device-install-dialog.css +0 -1
  38. package/dist/hooks/index.d.ts +0 -1
  39. package/dist/hooks/use-device-install.d.ts +0 -73
  40. package/dist/use-device-install-CS201taa.js +0 -31
  41. package/dist/use-device-install-jz1BMMQx.mjs +0 -13627
  42. package/src/components/device-install/device-install-dialog.css +0 -325
  43. package/src/components/device-install/device-install-dialog.tsx +0 -495
  44. package/src/components/device-install/index.ts +0 -2
  45. package/src/core/device-install/apple/client.ts +0 -152
  46. package/src/core/device-install/apple/crypto.ts +0 -202
  47. package/src/core/device-install/apple/gsa-srp.ts +0 -127
  48. package/src/core/device-install/apple/index.ts +0 -5
  49. package/src/core/device-install/apple/provisioning.ts +0 -298
  50. package/src/core/device-install/apple/relay.ts +0 -221
  51. package/src/core/device-install/index.ts +0 -4
  52. package/src/core/device-install/operations/index.ts +0 -6
  53. package/src/core/device-install/operations/limbuild-client.ts +0 -104
  54. package/src/core/device-install/operations/operations.ts +0 -217
  55. package/src/core/device-install/operations/relay-client.ts +0 -255
  56. package/src/core/device-install/operations/relay-protocol.ts +0 -71
  57. package/src/core/device-install/operations/usbmux.ts +0 -270
  58. package/src/core/device-install/operations/webusb-dom.d.ts +0 -54
  59. package/src/core/device-install/operations/webusb.ts +0 -105
  60. package/src/core/device-install/storage/browser-storage.ts +0 -263
  61. package/src/core/device-install/storage/index.ts +0 -1
  62. package/src/core/device-install/types.ts +0 -65
  63. package/src/device-install/index.ts +0 -3
  64. package/src/device-install/react.ts +0 -1
  65. package/src/hooks/index.ts +0 -1
  66. package/src/hooks/use-device-install.ts +0 -1221
package/README.md CHANGED
@@ -4,15 +4,6 @@
4
4
 
5
5
  See [examples](../../examples/) to see how it can be used.
6
6
 
7
- ## Real Device Installation
8
-
9
- `@limrun/ui` also includes a browser-based iPhone installation flow:
10
-
11
- - `@limrun/ui/device-install/react` exports the headless `useDeviceInstall` hook for clients that want to render their own UI.
12
- - `@limrun/ui/device-install` exports the guided `DeviceInstallDialog` UI, which walks users through a signed device build, USB access, browser pairing, and installation.
13
-
14
- WebUSB requires a Chromium browser and a secure context. Pair records and signing assets, including the `.p12` password, are stored in the browser's IndexedDB.
15
-
16
7
  ### Releasing
17
8
 
18
9
  This package is not part of generated SDK, hence you need to publish it manually in GitHub Actions.
@@ -93,6 +93,34 @@ interface RemoteControlProps {
93
93
  * @default 2000
94
94
  */
95
95
  axMaxBackoffMs?: number;
96
+ /**
97
+ * Optional outbound camera input.
98
+ *
99
+ * When provided, every video track on this `MediaStream` is forwarded
100
+ * up the same `RTCPeerConnection` that already carries the device
101
+ * screen downstream. On iOS instances, the limulator-side injector
102
+ * splices those frames into apps that use AVFoundation, so the user's
103
+ * browser camera becomes the iOS camera (`AVCaptureDevice.default(for:
104
+ * .video)`).
105
+ *
106
+ * Today this is only honored by iOS instances launched with the
107
+ * camera runtime; Android instances ignore it.
108
+ *
109
+ * Lifecycle expectations:
110
+ * - Pass `null`/`undefined` to skip outbound camera (default).
111
+ * - Pass a `MediaStream` obtained from
112
+ * `navigator.mediaDevices.getUserMedia({ video: true })` (or any
113
+ * other source — screen capture, virtual camera, etc.).
114
+ * - Changing the `MediaStream.id` triggers a connection restart so
115
+ * the new track is included in the SDP offer. The reference itself
116
+ * is allowed to be unstable across renders — we key the reconnect
117
+ * on `id`, not object identity, so memoization isn't required.
118
+ * - Stopping the tracks (e.g. `track.stop()`) on the parent side is
119
+ * sufficient to cut the outbound feed without restarting; the peer
120
+ * connection just stops getting frames on that track. To fully
121
+ * detach the track from the SDP, swap the prop to `null`.
122
+ */
123
+ cameraStream?: MediaStream | null;
96
124
  }
97
125
  interface ScreenshotData {
98
126
  dataUri: string;