shellbell 0.11.0 → 0.13.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/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "shellbell",
3
- "version": "0.11.0",
3
+ "version": "0.13.0",
4
4
  "description": "Shellbell agent — mirrors your Mac's terminal sessions to your phone",
5
5
  "type": "module",
6
6
  "imports": {
7
- "#terminal-plugin-loader": "./runtime/terminal-plugin-loader.mjs"
7
+ "#terminal-plugin-loader": "./runtime/terminal-plugin-loader.mjs",
8
+ "#webrtc-native": "./runtime/webrtc-native.mjs"
8
9
  },
9
10
  "license": "MIT",
10
11
  "os": [
@@ -19,12 +20,12 @@
19
20
  "files": [
20
21
  "dist",
21
22
  "runtime",
23
+ "webrtc",
22
24
  "README.md"
23
25
  ],
24
26
  "dependencies": {
25
27
  "@bufbuild/protobuf": "2.14.1",
26
28
  "commander": "15.0.0",
27
- "node-datachannel": "0.33.4",
28
29
  "qrcode-terminal": "0.12.0",
29
30
  "ws": "8.21.3",
30
31
  "zod": "4.5.4"
@@ -36,6 +37,7 @@
36
37
  "@types/qrcode-terminal": "0.12.2",
37
38
  "@types/ws": "8.18.1",
38
39
  "@xterm/headless": "6.0.0",
40
+ "node-datachannel": "0.33.4",
39
41
  "tsdown": "0.23.0",
40
42
  "tsx": "4.23.13",
41
43
  "typescript": "5.9.3",
@@ -55,6 +57,7 @@
55
57
  "conversation:fixture": "tsx scripts/transcript-fixture.ts",
56
58
  "conversation:fixture:agy": "tsx scripts/antigravity-fixture.ts",
57
59
  "check:bundle": "node scripts/check-bundle.mjs",
58
- "pack:smoke": "bash scripts/pack-smoke.sh"
60
+ "pack:smoke": "bash scripts/pack-smoke.sh",
61
+ "webrtc:fetch": "node native/webrtc/fetch.mjs"
59
62
  }
60
63
  }
@@ -0,0 +1,3 @@
1
+ // node-datachannel's bindings, without its JavaScript wrapper or prebuilt binaries.
2
+ declare const rtc: typeof import("node-datachannel").default;
3
+ export default rtc;
@@ -0,0 +1,13 @@
1
+ // The native WebRTC binary Shellbell builds itself from pinned sources (native/webrtc), one
2
+ // per platform. Nothing else loads native code, and only this file chooses which binary.
3
+ import { createRequire } from "node:module";
4
+
5
+ const targets = {
6
+ "darwin-arm64": "darwin-arm64",
7
+ "darwin-x64": "darwin-x64",
8
+ "linux-arm64": "linux-arm64-gnu",
9
+ "linux-x64": "linux-x64-gnu",
10
+ };
11
+ const target = targets[`${process.platform}-${process.arch}`];
12
+ if (!target) throw new Error(`No WebRTC binary for ${process.platform} (${process.arch})`);
13
+ export default createRequire(import.meta.url)(`../webrtc/${target}/node_datachannel.node`);