obsbot-mcp 0.2.0 → 0.3.0
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 +56 -4
- package/dist/capture/ffmpeg-args.d.ts +23 -0
- package/dist/capture/ffmpeg-args.js +76 -0
- package/dist/capture/ffmpeg-args.js.map +1 -1
- package/dist/capture/manager.d.ts +9 -3
- package/dist/capture/manager.js +67 -3
- package/dist/capture/manager.js.map +1 -1
- package/dist/device/manager.js +4 -0
- package/dist/device/manager.js.map +1 -1
- package/dist/transport/helper-process.js +1 -0
- package/dist/transport/helper-process.js.map +1 -1
- package/dist/transport/macos.d.ts +34 -0
- package/dist/transport/macos.js +62 -0
- package/dist/transport/macos.js.map +1 -0
- package/native/prebuilt/darwin-arm64/obsbot-helper +0 -0
- package/native/prebuilt/darwin-x64/obsbot-helper +0 -0
- package/native/prebuilt/linux-x64/obsbot-helper +0 -0
- package/native/prebuilt/win32-x64/obsbot-helper.exe +0 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -133,10 +133,21 @@ need ffmpeg — it grabs the frame through the native helper.
|
|
|
133
133
|
wake/sleep, HDR, FOV). Snapshots capture a MJPEG or YUYV frame via V4L2 mmap streaming and encode
|
|
134
134
|
to JPEG using **libjpeg**. The `linux-x64` prebuilt binary ships with the published npm package.
|
|
135
135
|
Build dependencies: `build-essential cmake libjpeg-dev libv4l-dev`.
|
|
136
|
-
- **macOS** —
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
136
|
+
- **macOS 14+ (Apple Silicon and Intel)** — supported. The native helper is in `native/macos/`
|
|
137
|
+
(Objective-C + **IOKit**/**AVFoundation**). It uses IOKit USB control transfers for both standard
|
|
138
|
+
UVC controls and vendor Extension Unit commands, and AVFoundation for enumeration and snapshots.
|
|
139
|
+
Both `darwin-arm64` and `darwin-x64` prebuilt binaries ship with the published npm package
|
|
140
|
+
(`darwin-x64` also covers Apple Silicon running Node under Rosetta, where `process.arch` reports
|
|
141
|
+
`x64`). macOS 14 is the floor because the helper uses `AVCaptureDeviceTypeExternal`; the build
|
|
142
|
+
pins `-mmacosx-version-min` so the binary does not inherit the build machine's OS as its
|
|
143
|
+
minimum.
|
|
144
|
+
|
|
145
|
+
Note on macOS specifically: `UVCAssistant` (a DriverKit system extension) owns the camera's UVC
|
|
146
|
+
*interfaces* exclusively, so `USBInterfaceOpen` — and even `USBInterfaceOpenSeize` — fail with
|
|
147
|
+
`kIOReturnExclusiveAccess`. The helper therefore opens the USB *device*, which is not locked, and
|
|
148
|
+
issues UVC control requests on its default control endpoint. This coexists with `UVCAssistant`:
|
|
149
|
+
the camera keeps working as a normal webcam while under control, so no driver-replacement step
|
|
150
|
+
is needed.
|
|
140
151
|
|
|
141
152
|
### Building the native helper (Linux)
|
|
142
153
|
|
|
@@ -148,6 +159,47 @@ make -j$(nproc)
|
|
|
148
159
|
make install # copies to native/prebuilt/linux-x64/
|
|
149
160
|
```
|
|
150
161
|
|
|
162
|
+
### Building the native helper (macOS)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
make -C native/macos # -> native/prebuilt/darwin-arm64/obsbot-helper
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Requires the Xcode command line tools. CMake works too (`cmake -S native/macos -B
|
|
169
|
+
native/macos/build && cmake --build native/macos/build`), which is what CI uses.
|
|
170
|
+
|
|
171
|
+
## Known limitations
|
|
172
|
+
|
|
173
|
+
What has actually been exercised against hardware, and what hasn't:
|
|
174
|
+
|
|
175
|
+
| Platform | Status |
|
|
176
|
+
|---|---|
|
|
177
|
+
| `win32-x64` | Builds in CI |
|
|
178
|
+
| `linux-x64` | Builds in CI |
|
|
179
|
+
| `darwin-arm64` | **Hardware-verified** — control, gimbal, zoom, and snapshot on a real Tiny 2 |
|
|
180
|
+
| `darwin-x64` | **Build-verified only** — compiles with the right architecture and deployment target, never executed |
|
|
181
|
+
|
|
182
|
+
- **The Intel (`darwin-x64`) helper has never been run.** No Intel Mac was available to test it. It
|
|
183
|
+
cross-compiles cleanly and is packaged, but nothing has confirmed it talks to a camera. It also
|
|
184
|
+
covers Apple Silicon running Node under Rosetta, where `process.arch` reports `x64` — likewise
|
|
185
|
+
untested. Reports from Intel users are welcome.
|
|
186
|
+
- **macOS 14 or newer is required**, and macOS runtime is verified on **26.5 only**. The helper uses
|
|
187
|
+
`AVCaptureDeviceTypeExternal` (macOS 14+), so the build pins `-mmacosx-version-min=14.0`. The
|
|
188
|
+
binary will *load* on 14 through 25, but behavior there is untested — in particular the UVC
|
|
189
|
+
control path relies on `UVCAssistant` holding the camera's UVC interfaces while leaving the USB
|
|
190
|
+
device itself openable. That is how current macOS behaves; older releases are unconfirmed.
|
|
191
|
+
- **The first snapshot on macOS raises a camera permission prompt.** The helper is a plain CLI tool
|
|
192
|
+
with no bundle identifier, so macOS attributes camera access to whichever app spawned it — your
|
|
193
|
+
MCP client — and that app is named in the prompt and holds the grant. Approve once; the grant
|
|
194
|
+
survives helper updates, since it is keyed to the client rather than to the helper's signature.
|
|
195
|
+
- **The camera may not enumerate through a USB hub or dock.** A Tiny 2 connected through a USB-C
|
|
196
|
+
dock was invisible to `ioreg` and `system_profiler` entirely — not just to this server. If
|
|
197
|
+
`obsbot_list_devices` comes back empty, try a direct connection before assuming a software fault.
|
|
198
|
+
- **Only the OBSBOT Tiny 2 is supported.** On macOS the USB vendor/product IDs are hardcoded
|
|
199
|
+
(`0x3564`/`0xFEF8`), so no other model is detected at all. Windows and Linux match devices by
|
|
200
|
+
name, so a different OBSBOT may be *found* — but the vendor command set is Tiny 2 specific
|
|
201
|
+
either way.
|
|
202
|
+
|
|
151
203
|
## No proprietary SDK
|
|
152
204
|
|
|
153
205
|
This project speaks the camera's USB protocol directly through the OS's standard UVC driver stack and
|
|
@@ -26,3 +26,26 @@ export declare function buildRecordArgs(o: {
|
|
|
26
26
|
export declare function buildPreviewArgs(o: {
|
|
27
27
|
videoName: string;
|
|
28
28
|
}): string[];
|
|
29
|
+
export interface AvfDevices {
|
|
30
|
+
/** Device indices, keyed by display name (the name shown by ffmpeg). */
|
|
31
|
+
video: Record<string, number>;
|
|
32
|
+
audio: Record<string, number>;
|
|
33
|
+
}
|
|
34
|
+
export declare function parseAvfDevices(stderr: string): AvfDevices;
|
|
35
|
+
export declare function resolveAvfVideoName(devices: AvfDevices, source: CaptureSource): {
|
|
36
|
+
name: string;
|
|
37
|
+
index: number;
|
|
38
|
+
} | undefined;
|
|
39
|
+
export declare function resolveAvfAudioName(devices: AvfDevices): {
|
|
40
|
+
name: string;
|
|
41
|
+
index: number;
|
|
42
|
+
} | undefined;
|
|
43
|
+
export declare function buildAvfRecordArgs(o: {
|
|
44
|
+
videoIndex: number;
|
|
45
|
+
audioIndex?: number;
|
|
46
|
+
durationSec: number;
|
|
47
|
+
outputPath: string;
|
|
48
|
+
}): string[];
|
|
49
|
+
export declare function buildAvfPreviewArgs(o: {
|
|
50
|
+
videoIndex: number;
|
|
51
|
+
}): string[];
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// Pure helpers for the recording/preview subsystem: parse ffmpeg's dshow
|
|
2
|
+
// (Windows), v4l2 (Linux), or avfoundation (macOS) device listing and build the
|
|
3
|
+
// exact ffmpeg/ffplay argv arrays. No side effects.
|
|
1
4
|
// ---------- Windows (dshow) helpers ----------
|
|
2
5
|
// ffmpeg -f dshow -list_devices prints one line per device on stderr:
|
|
3
6
|
// [dshow @ ..] "Friendly Name" (video)
|
|
@@ -102,4 +105,77 @@ export function buildPreviewArgs(o) {
|
|
|
102
105
|
"-window_title", "OBSBOT preview",
|
|
103
106
|
];
|
|
104
107
|
}
|
|
108
|
+
// ffmpeg -f avfoundation -list_devices true -i "" prints on stderr:
|
|
109
|
+
// [AVFoundation indev @ 0x...] AVFoundation video devices:
|
|
110
|
+
// [AVFoundation indev @ 0x...] [0] FaceTime HD Camera
|
|
111
|
+
// [AVFoundation indev @ 0x...] [1] OBSBOT Tiny 2
|
|
112
|
+
// [AVFoundation indev @ 0x...] AVFoundation audio devices:
|
|
113
|
+
// [AVFoundation indev @ 0x...] [0] Built-in Microphone
|
|
114
|
+
// [AVFoundation indev @ 0x...] [1] OBSBOT Tiny 2 Microphone
|
|
115
|
+
export function parseAvfDevices(stderr) {
|
|
116
|
+
const video = {};
|
|
117
|
+
const audio = {};
|
|
118
|
+
let section = null;
|
|
119
|
+
for (const line of stderr.split(/\r?\n/)) {
|
|
120
|
+
if (/AVFoundation video devices/i.test(line)) {
|
|
121
|
+
section = "video";
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (/AVFoundation audio devices/i.test(line)) {
|
|
125
|
+
section = "audio";
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (!section)
|
|
129
|
+
continue;
|
|
130
|
+
const m = line.match(/\[\s*(\d+)\]\s+(.+)/);
|
|
131
|
+
if (m) {
|
|
132
|
+
const idx = parseInt(m[1], 10);
|
|
133
|
+
const name = m[2].trim();
|
|
134
|
+
if (section === "video")
|
|
135
|
+
video[name] = idx;
|
|
136
|
+
else
|
|
137
|
+
audio[name] = idx;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return { video, audio };
|
|
141
|
+
}
|
|
142
|
+
export function resolveAvfVideoName(devices, source) {
|
|
143
|
+
const names = Object.keys(devices.video);
|
|
144
|
+
let match;
|
|
145
|
+
if (source === "virtual")
|
|
146
|
+
match = names.find((n) => /OBSBOT Virtual Camera/i.test(n));
|
|
147
|
+
else if (source === "ndi")
|
|
148
|
+
match = names.find((n) => /NDI Webcam/i.test(n));
|
|
149
|
+
else
|
|
150
|
+
match = names.find((n) => /OBSBOT/i.test(n) && !/Virtual/i.test(n));
|
|
151
|
+
if (!match)
|
|
152
|
+
return undefined;
|
|
153
|
+
return { name: match, index: devices.video[match] };
|
|
154
|
+
}
|
|
155
|
+
export function resolveAvfAudioName(devices) {
|
|
156
|
+
const entry = Object.entries(devices.audio).find(([name]) => /OBSBOT.*Mic/i.test(name));
|
|
157
|
+
if (!entry)
|
|
158
|
+
return undefined;
|
|
159
|
+
return { name: entry[0], index: entry[1] };
|
|
160
|
+
}
|
|
161
|
+
export function buildAvfRecordArgs(o) {
|
|
162
|
+
const input = o.audioIndex !== undefined
|
|
163
|
+
? `${o.videoIndex}:${o.audioIndex}`
|
|
164
|
+
: `${o.videoIndex}`;
|
|
165
|
+
return [
|
|
166
|
+
"-hide_banner", "-loglevel", "warning", "-f", "avfoundation",
|
|
167
|
+
"-i", input,
|
|
168
|
+
"-t", String(o.durationSec),
|
|
169
|
+
"-c:v", "libx264", "-pix_fmt", "yuv420p",
|
|
170
|
+
...(o.audioIndex !== undefined ? ["-c:a", "aac"] : []),
|
|
171
|
+
"-y", o.outputPath,
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
export function buildAvfPreviewArgs(o) {
|
|
175
|
+
return [
|
|
176
|
+
"-hide_banner", "-loglevel", "warning", "-f", "avfoundation",
|
|
177
|
+
"-i", `${o.videoIndex}`,
|
|
178
|
+
"-window_title", "OBSBOT preview",
|
|
179
|
+
];
|
|
180
|
+
}
|
|
105
181
|
//# sourceMappingURL=ffmpeg-args.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg-args.js","sourceRoot":"","sources":["../../src/capture/ffmpeg-args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ffmpeg-args.js","sourceRoot":"","sources":["../../src/capture/ffmpeg-args.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,gFAAgF;AAChF,oDAAoD;AAsBpD,gDAAgD;AAEhD,sEAAsE;AACtE,yCAAyC;AACzC,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAmB,EACnB,MAAqB;IAErB,MAAM,KAAK,GAAG,CAAC,CAAa,EAAoB,EAAE,CAChD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;IACvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;QAChF,CAAC;QACD,OAAQ,OAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACnB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;QACrE,CAAC;QACD,OAAQ,OAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,oCAAoC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;IACD,mBAAmB;IACnB,OAAQ,OAAwB,CAAC,KAAK,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAmB;IAClD,IAAI,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAE,OAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;QACzE,OAAQ,OAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,uDAAuD;IACvD,mDAAmD;IACnD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6CAA6C;AAC7C,2EAA2E;AAE3E,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,gCAAgC;IAChC,yDAAyD;IACzD,wDAAwD;IACxD,iEAAiE;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAK/B;IACC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,cAAc,EAAE,WAAW,EAAE,SAAS;YACtC,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;YAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;YACxC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,EAAE,CAAC,CAAC,UAAU;SACnB,CAAC;IACJ,CAAC;IACD,uBAAuB;IACvB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS;QACvB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;IAC3B,OAAO;QACL,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO;QACrD,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;QACxC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,IAAI,EAAE,CAAC,CAAC,UAAU;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAwB;IACvD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,cAAc,EAAE,WAAW,EAAE,SAAS;YACtC,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,OAAO;YACxB,aAAa,EAAE,WAAW;YAC1B,IAAI,EAAE,CAAC,CAAC,SAAS;YACjB,eAAe,EAAE,gBAAgB;SAClC,CAAC;IACJ,CAAC;IACD,aAAa;IACb,OAAO;QACL,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO;QACrD,IAAI,EAAE,SAAS,CAAC,CAAC,SAAS,EAAE;QAC5B,eAAe,EAAE,gBAAgB;KAClC,CAAC;AACJ,CAAC;AAUD,qEAAqE;AACrE,6DAA6D;AAC7D,wDAAwD;AACxD,mDAAmD;AACnD,6DAA6D;AAC7D,yDAAyD;AACzD,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,IAAI,OAAO,GAA6B,IAAI,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,GAAG,OAAO,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,OAAO,GAAG,OAAO,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;;gBACtC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAmB,EACnB,MAAqB;IAErB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,KAAyB,CAAC;IAC9B,IAAI,MAAM,KAAK,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACjF,IAAI,MAAM,KAAK,KAAK;QAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;;QACvE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAKlC;IACC,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,KAAK,SAAS;QACtC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,EAAE;QACnC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;IACtB,OAAO;QACL,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc;QAC5D,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS;QACxC,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,IAAI,EAAE,CAAC,CAAC,UAAU;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAyB;IAC3D,OAAO;QACL,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc;QAC5D,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE;QACvB,eAAe,EAAE,gBAAgB;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn as realSpawn } from "node:child_process";
|
|
2
|
-
import { type CaptureSource, type DeviceList } from "./ffmpeg-args.js";
|
|
2
|
+
import { type CaptureSource, type DeviceList, type AvfDevices } from "./ffmpeg-args.js";
|
|
3
3
|
export interface CaptureSession {
|
|
4
4
|
id: string;
|
|
5
5
|
kind: "record" | "preview";
|
|
@@ -27,14 +27,19 @@ interface Deps {
|
|
|
27
27
|
clock?: () => string;
|
|
28
28
|
hasBinary?: (name: string) => boolean;
|
|
29
29
|
fs?: FsLike;
|
|
30
|
-
/** Override
|
|
31
|
-
|
|
30
|
+
/** Override platform detection for testing. */
|
|
31
|
+
platform?: "darwin" | "win32" | "linux";
|
|
32
|
+
/** Override for device probe logic (used by tests to avoid real V4L2/dshow/AVF probing). */
|
|
33
|
+
probeDevices?: () => Promise<PlatformDevices>;
|
|
32
34
|
}
|
|
35
|
+
/** Union of all platform device-list shapes. */
|
|
36
|
+
type PlatformDevices = DeviceList | AvfDevices;
|
|
33
37
|
export declare class CaptureManager {
|
|
34
38
|
private readonly spawn;
|
|
35
39
|
private readonly clock;
|
|
36
40
|
private readonly hasBinary;
|
|
37
41
|
private readonly fs;
|
|
42
|
+
private readonly platform;
|
|
38
43
|
private readonly probeFn;
|
|
39
44
|
private readonly sessions;
|
|
40
45
|
private devices?;
|
|
@@ -44,6 +49,7 @@ export declare class CaptureManager {
|
|
|
44
49
|
private probeDevices;
|
|
45
50
|
private probeV4l2Devices;
|
|
46
51
|
private probeV4l2Card;
|
|
52
|
+
private probeAvfDevices;
|
|
47
53
|
private probeDshowDevices;
|
|
48
54
|
private timestampName;
|
|
49
55
|
startRecord(o: {
|
package/dist/capture/manager.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { spawn as realSpawn, spawnSync } from "node:child_process";
|
|
2
2
|
import { existsSync, mkdirSync, readFileSync, readdirSync } from "node:fs";
|
|
3
|
-
import { homedir } from "node:os";
|
|
3
|
+
import { homedir, platform } from "node:os";
|
|
4
4
|
import { dirname, join } from "node:path";
|
|
5
|
-
import { parseDshowDevices, resolveVideoName, resolveAudioName, buildRecordArgs, buildPreviewArgs, } from "./ffmpeg-args.js";
|
|
5
|
+
import { parseDshowDevices, resolveVideoName, resolveAudioName, buildRecordArgs, buildPreviewArgs, parseAvfDevices, resolveAvfVideoName, resolveAvfAudioName, buildAvfRecordArgs, buildAvfPreviewArgs, } from "./ffmpeg-args.js";
|
|
6
6
|
/** Expected operational failure (surfaced to the user as text, not thrown to the client). */
|
|
7
7
|
export class CaptureError extends Error {
|
|
8
8
|
constructor(message) {
|
|
@@ -24,11 +24,15 @@ function defaultHasBinary(name) {
|
|
|
24
24
|
const r = spawnSync(name, ["-version"], { stdio: "ignore" });
|
|
25
25
|
return !r.error;
|
|
26
26
|
}
|
|
27
|
+
function isAvfDevices(d) {
|
|
28
|
+
return "video" in d && typeof d.video === "object" && !Array.isArray(d.video);
|
|
29
|
+
}
|
|
27
30
|
export class CaptureManager {
|
|
28
31
|
spawn;
|
|
29
32
|
clock;
|
|
30
33
|
hasBinary;
|
|
31
34
|
fs;
|
|
35
|
+
platform;
|
|
32
36
|
probeFn;
|
|
33
37
|
sessions = new Map();
|
|
34
38
|
devices;
|
|
@@ -38,6 +42,7 @@ export class CaptureManager {
|
|
|
38
42
|
this.clock = deps.clock ?? (() => new Date().toISOString());
|
|
39
43
|
this.hasBinary = deps.hasBinary ?? defaultHasBinary;
|
|
40
44
|
this.fs = deps.fs ?? { existsSync, mkdirSync };
|
|
45
|
+
this.platform = deps.platform ?? platform();
|
|
41
46
|
this.probeFn = deps.probeDevices;
|
|
42
47
|
}
|
|
43
48
|
ensureFfmpeg() {
|
|
@@ -52,10 +57,13 @@ export class CaptureManager {
|
|
|
52
57
|
if (this.probeFn)
|
|
53
58
|
return this.probeFn();
|
|
54
59
|
return new Promise((resolve, reject) => {
|
|
55
|
-
if (
|
|
60
|
+
if (this.platform === "linux") {
|
|
56
61
|
// On Linux, list /dev/video* devices and probe each one
|
|
57
62
|
this.probeV4l2Devices().then(resolve).catch(reject);
|
|
58
63
|
}
|
|
64
|
+
else if (this.platform === "darwin") {
|
|
65
|
+
this.probeAvfDevices(resolve, reject);
|
|
66
|
+
}
|
|
59
67
|
else {
|
|
60
68
|
this.probeDshowDevices(resolve, reject);
|
|
61
69
|
}
|
|
@@ -95,6 +103,16 @@ export class CaptureManager {
|
|
|
95
103
|
}
|
|
96
104
|
});
|
|
97
105
|
}
|
|
106
|
+
probeAvfDevices(resolve, reject) {
|
|
107
|
+
const child = this.spawn("ffmpeg", ["-hide_banner", "-f", "avfoundation", "-list_devices", "true", "-i", ""], { stdio: ["pipe", "pipe", "pipe"] });
|
|
108
|
+
let err = "";
|
|
109
|
+
child.stderr?.on("data", (d) => { err += d.toString(); });
|
|
110
|
+
child.on("error", (e) => reject(new CaptureError(`failed to run ffmpeg for device probe: ${e.message}`)));
|
|
111
|
+
child.on("close", () => {
|
|
112
|
+
this.devices = parseAvfDevices(err);
|
|
113
|
+
resolve(this.devices);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
98
116
|
probeDshowDevices(resolve, reject) {
|
|
99
117
|
const child = this.spawn("ffmpeg", ["-hide_banner", "-f", "dshow", "-list_devices", "true", "-i", "dummy"], { stdio: ["pipe", "pipe", "pipe"] });
|
|
100
118
|
let err = "";
|
|
@@ -113,6 +131,36 @@ export class CaptureManager {
|
|
|
113
131
|
async startRecord(o) {
|
|
114
132
|
this.ensureFfmpeg();
|
|
115
133
|
const devices = await this.probeDevices();
|
|
134
|
+
if (isAvfDevices(devices)) {
|
|
135
|
+
const videoInfo = resolveAvfVideoName(devices, o.source);
|
|
136
|
+
if (!videoInfo)
|
|
137
|
+
throw new CaptureError(`no '${o.source}' video source found (is OBSBOT Center / NDI running?)`);
|
|
138
|
+
let audioIndex;
|
|
139
|
+
if (o.audio) {
|
|
140
|
+
const audioInfo = resolveAvfAudioName(devices);
|
|
141
|
+
if (!audioInfo)
|
|
142
|
+
throw new CaptureError("OBSBOT microphone not found; retry with audio:false for a silent clip");
|
|
143
|
+
audioIndex = audioInfo.index;
|
|
144
|
+
}
|
|
145
|
+
const outputPath = o.outputPath ?? join(homedir(), "Videos", "OBSBOT", this.timestampName());
|
|
146
|
+
if (o.outputPath && this.fs.existsSync(o.outputPath)) {
|
|
147
|
+
throw new CaptureError(`output file already exists: ${o.outputPath}`);
|
|
148
|
+
}
|
|
149
|
+
this.fs.mkdirSync(dirname(outputPath), { recursive: true });
|
|
150
|
+
const durationSec = o.durationSec ?? OPEN_ENDED_CAP_SEC;
|
|
151
|
+
const args = buildAvfRecordArgs({ videoIndex: videoInfo.index, audioIndex, durationSec, outputPath });
|
|
152
|
+
const child = this.spawn("ffmpeg", args, { stdio: ["pipe", "ignore", "ignore"] });
|
|
153
|
+
const session = {
|
|
154
|
+
id: `cap${++this.seq}`, kind: "record", pid: child.pid ?? -1,
|
|
155
|
+
source: o.source, outputPath, durationSec, startedAtIso: this.clock(),
|
|
156
|
+
};
|
|
157
|
+
this.sessions.set(session.id, { session, child });
|
|
158
|
+
child.once("exit", () => this.sessions.delete(session.id));
|
|
159
|
+
child.on("error", () => this.sessions.delete(session.id));
|
|
160
|
+
return session;
|
|
161
|
+
}
|
|
162
|
+
// Windows (dshow) or Linux (v4l2) path — resolveVideoName/buildRecordArgs
|
|
163
|
+
// handle both via the DeviceList union and /dev/ prefix check.
|
|
116
164
|
const videoName = resolveVideoName(devices, o.source);
|
|
117
165
|
if (!videoName)
|
|
118
166
|
throw new CaptureError(`no '${o.source}' video source found (is OBSBOT Center / NDI running?)`);
|
|
@@ -142,6 +190,22 @@ export class CaptureManager {
|
|
|
142
190
|
async startPreview(o) {
|
|
143
191
|
this.ensureFfmpeg();
|
|
144
192
|
const devices = await this.probeDevices();
|
|
193
|
+
if (isAvfDevices(devices)) {
|
|
194
|
+
const videoInfo = resolveAvfVideoName(devices, o.source);
|
|
195
|
+
if (!videoInfo)
|
|
196
|
+
throw new CaptureError(`no '${o.source}' video source found (is OBSBOT Center / NDI running?)`);
|
|
197
|
+
const args = buildAvfPreviewArgs({ videoIndex: videoInfo.index });
|
|
198
|
+
const child = this.spawn("ffplay", args, { stdio: "ignore" });
|
|
199
|
+
const session = {
|
|
200
|
+
id: `cap${++this.seq}`, kind: "preview", pid: child.pid ?? -1,
|
|
201
|
+
source: o.source, startedAtIso: this.clock(),
|
|
202
|
+
};
|
|
203
|
+
this.sessions.set(session.id, { session, child });
|
|
204
|
+
child.once("exit", () => this.sessions.delete(session.id));
|
|
205
|
+
child.on("error", () => this.sessions.delete(session.id));
|
|
206
|
+
return session;
|
|
207
|
+
}
|
|
208
|
+
// Windows (dshow) or Linux (v4l2) path
|
|
145
209
|
const videoName = resolveVideoName(devices, o.source);
|
|
146
210
|
if (!videoName)
|
|
147
211
|
throw new CaptureError(`no '${o.source}' video source found (is OBSBOT Center / NDI running?)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/capture/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/capture/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EACzD,kBAAkB,EAAE,mBAAmB,GAMxC,MAAM,kBAAkB,CAAC;AAY1B,6FAA6F;AAC7F,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD;QACE,KAAK,CACH,qEAAqE;YACnE,mFAAmF;YACnF,6BAA6B,CAChC,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAClB,CAAC;AAqBD,SAAS,YAAY,CAAC,CAAkB;IACtC,OAAO,OAAO,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,OAAO,cAAc;IACR,KAAK,CAAmB;IACxB,KAAK,CAAe;IACpB,SAAS,CAA4B;IACrC,EAAE,CAAS;IACX,QAAQ,CAAS;IACjB,OAAO,CAA+C;IACtD,QAAQ,GAAG,IAAI,GAAG,EAA4D,CAAC;IACxF,OAAO,CAAmB;IAC1B,GAAG,GAAG,CAAC,CAAC;IAEhB,YAAY,OAAa,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;IACnC,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,qCAAqC;QACrC,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC9B,wDAAwD;gBACxD,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;iBACvB,IAAI,EAAE,CAAC;YAEV,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,IAAI;oBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB;QACtB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9B,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG;oBAAE,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;gBACpC,MAAM,KAAK,GAAG,+BAA+B,GAAG,OAAO,CAAC;gBACxD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CACrB,OAA2C,EAC3C,MAA4B;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,QAAQ,EACR,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EACzE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACpC,CAAC;QACF,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,0CAA0C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1G,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CACvB,OAA2C,EAC3C,MAA4B;QAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACtB,QAAQ,EACR,CAAC,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EACvE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACpC,CAAC;QACF,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,0CAA0C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1G,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,UAAU,OAAO,MAAM,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,CAEjB;QACC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1C,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,wDAAwD,CAAC,CAAC;YAChH,IAAI,UAA8B,CAAC;YACnC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,SAAS;oBAAE,MAAM,IAAI,YAAY,CAAC,uEAAuE,CAAC,CAAC;gBAChH,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC;YAC/B,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC;YACxD,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YACtG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClF,MAAM,OAAO,GAAmB;gBAC9B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;aACtE,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,0EAA0E;QAC1E,+DAA+D;QAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,wDAAwD,CAAC,CAAC;QAChH,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,uEAAuE,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,kBAAkB,CAAC;QACxD,MAAM,IAAI,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClF,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;SACtE,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,CAA4B;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE1C,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,wDAAwD,CAAC,CAAC;YAChH,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAmB;gBAC9B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;aAC7C,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,uCAAuC;QACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,wDAAwD,CAAC,CAAC;QAChH,MAAM,IAAI,GAAG,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAmB;YAC9B,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE;SAC7C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,YAAY,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBAChD,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,GAAG,IAAI,CAAC;oBAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAChH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,GAAG,IAAI,CAAC;oBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9F,IAAI,CAAC;oBAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,OAAO;QACL,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF"}
|
package/dist/device/manager.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WindowsTransport } from "../transport/windows.js";
|
|
2
2
|
import { LinuxTransport } from "../transport/linux.js";
|
|
3
|
+
import { MacosTransport } from "../transport/macos.js";
|
|
3
4
|
export class DeviceManager {
|
|
4
5
|
helper;
|
|
5
6
|
constructor(helper) {
|
|
@@ -9,6 +10,9 @@ export class DeviceManager {
|
|
|
9
10
|
if (process.platform === "linux") {
|
|
10
11
|
return new LinuxTransport(this.helper);
|
|
11
12
|
}
|
|
13
|
+
if (process.platform === "darwin") {
|
|
14
|
+
return new MacosTransport(this.helper);
|
|
15
|
+
}
|
|
12
16
|
return new WindowsTransport(this.helper);
|
|
13
17
|
}
|
|
14
18
|
async list() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/device/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAErC,eAAe;QACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,+DAA+D;QAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,MAAM,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC9D,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/device/manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAErC,eAAe;QACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,+DAA+D;QAC/D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,MAAM,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,cAAc,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wCAAwC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC9D,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper-process.js","sourceRoot":"","sources":["../../src/transport/helper-process.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helper-process.js","sourceRoot":"","sources":["../../src/transport/helper-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { HelperProcess } from "./helper-process.js";
|
|
2
|
+
import { ObsbotTransport, Snapshot, SnapshotOpts } from "./transport.js";
|
|
3
|
+
export declare class MacosTransport implements ObsbotTransport {
|
|
4
|
+
private helper;
|
|
5
|
+
private seq;
|
|
6
|
+
constructor(helper: HelperProcess);
|
|
7
|
+
sendVendor(frame: Buffer): Promise<void>;
|
|
8
|
+
recvVendor(frame: Buffer, length?: number): Promise<Buffer>;
|
|
9
|
+
recvStatus(length?: number): Promise<Buffer>;
|
|
10
|
+
xuRaw(selector: number, data: Buffer): Promise<void>;
|
|
11
|
+
xuGetRaw(selector: number, length: number): Promise<Buffer>;
|
|
12
|
+
zoomRange(): Promise<{
|
|
13
|
+
min: number;
|
|
14
|
+
max: number;
|
|
15
|
+
}>;
|
|
16
|
+
zoomSet(units: number): Promise<void>;
|
|
17
|
+
snapshot(opts: SnapshotOpts): Promise<Snapshot>;
|
|
18
|
+
camCtrlSet(property: number, value: number, flags: number): Promise<void>;
|
|
19
|
+
camCtrlRange(property: number): Promise<{
|
|
20
|
+
min: number;
|
|
21
|
+
max: number;
|
|
22
|
+
}>;
|
|
23
|
+
camCtrlGet(property: number): Promise<{
|
|
24
|
+
value: number;
|
|
25
|
+
flags: number;
|
|
26
|
+
}>;
|
|
27
|
+
procAmpSet(property: number, value: number, flags: number): Promise<void>;
|
|
28
|
+
procAmpRange(property: number): Promise<{
|
|
29
|
+
min: number;
|
|
30
|
+
max: number;
|
|
31
|
+
}>;
|
|
32
|
+
nextSeq(): number;
|
|
33
|
+
close(): Promise<void>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Same XU selector constants as WindowsTransport — they're defined by the
|
|
2
|
+
// OBSBOT protocol, not the OS:
|
|
3
|
+
const VENDOR_XU_SELECTOR = 0x02;
|
|
4
|
+
const RESPONSE_SELECTOR = 0x02;
|
|
5
|
+
const DEFAULT_REPLY_LEN = 60;
|
|
6
|
+
const STATUS_SELECTOR = 0x06;
|
|
7
|
+
const STATUS_BLOCK_LEN = 60;
|
|
8
|
+
export class MacosTransport {
|
|
9
|
+
helper;
|
|
10
|
+
seq = 0;
|
|
11
|
+
constructor(helper) {
|
|
12
|
+
this.helper = helper;
|
|
13
|
+
}
|
|
14
|
+
async sendVendor(frame) {
|
|
15
|
+
await this.helper.xuSet(VENDOR_XU_SELECTOR, frame);
|
|
16
|
+
}
|
|
17
|
+
async recvVendor(frame, length = DEFAULT_REPLY_LEN) {
|
|
18
|
+
await this.helper.xuSet(VENDOR_XU_SELECTOR, frame);
|
|
19
|
+
return this.helper.xuGet(RESPONSE_SELECTOR, length);
|
|
20
|
+
}
|
|
21
|
+
async recvStatus(length = STATUS_BLOCK_LEN) {
|
|
22
|
+
return this.helper.xuGet(STATUS_SELECTOR, length);
|
|
23
|
+
}
|
|
24
|
+
async xuRaw(selector, data) {
|
|
25
|
+
await this.helper.xuSet(selector, data);
|
|
26
|
+
}
|
|
27
|
+
async xuGetRaw(selector, length) {
|
|
28
|
+
return this.helper.xuGet(selector, length);
|
|
29
|
+
}
|
|
30
|
+
async zoomRange() {
|
|
31
|
+
return this.helper.zoomRange();
|
|
32
|
+
}
|
|
33
|
+
async zoomSet(units) {
|
|
34
|
+
await this.helper.zoomSet(units);
|
|
35
|
+
}
|
|
36
|
+
async snapshot(opts) {
|
|
37
|
+
return this.helper.snapshot(opts);
|
|
38
|
+
}
|
|
39
|
+
async camCtrlSet(property, value, flags) {
|
|
40
|
+
await this.helper.camCtrlSet(property, value, flags);
|
|
41
|
+
}
|
|
42
|
+
async camCtrlRange(property) {
|
|
43
|
+
return this.helper.camCtrlRange(property);
|
|
44
|
+
}
|
|
45
|
+
async camCtrlGet(property) {
|
|
46
|
+
return this.helper.camCtrlGet(property);
|
|
47
|
+
}
|
|
48
|
+
async procAmpSet(property, value, flags) {
|
|
49
|
+
await this.helper.procAmpSet(property, value, flags);
|
|
50
|
+
}
|
|
51
|
+
async procAmpRange(property) {
|
|
52
|
+
return this.helper.procAmpRange(property);
|
|
53
|
+
}
|
|
54
|
+
nextSeq() {
|
|
55
|
+
this.seq = this.seq >= 0xffff ? 1 : this.seq + 1;
|
|
56
|
+
return this.seq;
|
|
57
|
+
}
|
|
58
|
+
async close() {
|
|
59
|
+
await this.helper.close();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=macos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"macos.js","sourceRoot":"","sources":["../../src/transport/macos.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "obsbot-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Cross-platform MCP server for OBSBOT Tiny 2 (UVC) camera control",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Michael Jordan",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"zod-to-json-schema": "^3.23.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
+
"@types/node": "^20.0.0",
|
|
46
47
|
"typescript": "^5.5.0",
|
|
47
|
-
"vitest": "^
|
|
48
|
-
"@types/node": "^20.0.0"
|
|
48
|
+
"vitest": "^4.1.10"
|
|
49
49
|
},
|
|
50
50
|
"allowScripts": {
|
|
51
51
|
"esbuild@0.21.5": true
|