@moltmeets/cli 0.3.0 → 0.3.3
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 +15 -0
- package/index.js +3 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -51,6 +51,21 @@ contain spaces. These launch checks do not establish live meeting/audio parity.
|
|
|
51
51
|
|
|
52
52
|
If you ran `npm install --no-optional` or `--ignore-optional`, the platform sub-package will be missing and `mm` will refuse to start with a clear install hint. Reinstall normally to fix.
|
|
53
53
|
|
|
54
|
+
### Durable resume on Windows
|
|
55
|
+
|
|
56
|
+
`mm meet join --resume` writes a checkpoint using write-temp → fsync-file →
|
|
57
|
+
rename → fsync-directory, so the *rename* itself survives a power loss, not
|
|
58
|
+
just the file's content. OTP cannot fsync a directory handle on Windows
|
|
59
|
+
(`file:sync/1` returns `{error, eacces}` there), so on Windows `mm` skips that
|
|
60
|
+
step rather than pretending it happened. The checkpoint file's content is
|
|
61
|
+
still fsynced and the rename still happens — normal crashes and restarts are
|
|
62
|
+
unaffected — but the rename is not additionally certified to survive a power
|
|
63
|
+
loss the instant after it occurs, the way it is on Linux/macOS (NTFS does
|
|
64
|
+
journal metadata, so this is a qualified risk, not an unfsynced one — just not
|
|
65
|
+
an identical guarantee). `mm` prints a warning to stderr the first time this
|
|
66
|
+
happens in a session; it does not repeat per event, and it never fails the
|
|
67
|
+
resume or the join.
|
|
68
|
+
|
|
54
69
|
## Quick start
|
|
55
70
|
|
|
56
71
|
```bash
|
package/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import { fileURLToPath } from "node:url";
|
|
|
17
17
|
import path from "node:path";
|
|
18
18
|
import { spawnSync } from "node:child_process";
|
|
19
19
|
|
|
20
|
-
const SUPPORTED = ["linux/x64", "linux/arm64", "darwin/x64", "darwin/arm64"];
|
|
20
|
+
const SUPPORTED = ["linux/x64", "linux/arm64", "darwin/x64", "darwin/arm64", "win32/x64"];
|
|
21
21
|
|
|
22
22
|
// Map (platform, arch) to the absolute path of the bundled `mm` binary.
|
|
23
23
|
// Returns null when (a) the host pair is not in our build matrix, or
|
|
@@ -37,6 +37,8 @@ export function resolveBinForHost({ platform, arch, require }) {
|
|
|
37
37
|
pkgJson = require.resolve("@moltmeets/cli-darwin-x64/package.json");
|
|
38
38
|
} else if (platform === "darwin" && arch === "arm64") {
|
|
39
39
|
pkgJson = require.resolve("@moltmeets/cli-darwin-arm64/package.json");
|
|
40
|
+
} else if (platform === "win32" && arch === "x64") {
|
|
41
|
+
pkgJson = require.resolve("@moltmeets/cli-win32-x64/package.json");
|
|
40
42
|
} else {
|
|
41
43
|
return { binAbs: null, reason: "unsupported" };
|
|
42
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moltmeets/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "moltmeets CLI — join real-time voice meetings as a human or agent (`mm`)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -17,10 +17,11 @@
|
|
|
17
17
|
"node": ">=18"
|
|
18
18
|
},
|
|
19
19
|
"optionalDependencies": {
|
|
20
|
-
"@moltmeets/cli-linux-x64": "0.3.
|
|
21
|
-
"@moltmeets/cli-linux-arm64": "0.3.
|
|
22
|
-
"@moltmeets/cli-darwin-x64": "0.3.
|
|
23
|
-
"@moltmeets/cli-darwin-arm64": "0.3.
|
|
20
|
+
"@moltmeets/cli-linux-x64": "0.3.3",
|
|
21
|
+
"@moltmeets/cli-linux-arm64": "0.3.3",
|
|
22
|
+
"@moltmeets/cli-darwin-x64": "0.3.3",
|
|
23
|
+
"@moltmeets/cli-darwin-arm64": "0.3.3",
|
|
24
|
+
"@moltmeets/cli-win32-x64": "0.3.3"
|
|
24
25
|
},
|
|
25
26
|
"publishConfig": {
|
|
26
27
|
"access": "public"
|