@mmmbuto/masix 0.2.5 → 0.3.1

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 CHANGED
@@ -1,13 +1,15 @@
1
1
  # @mmmbuto/masix
2
2
 
3
- Scoped Termux package for MasiX.
3
+ Official Termux package for MasiX (MIT).
4
4
 
5
- MasiX is a Rust-first messaging automation runtime inspired by OpenClaw, focused on stable mobile execution.
5
+ Official site: WellaNet.Dev
6
+
7
+ MasiX is an AI-friendly modular assistant runtime in Rust, optimized for smartphone (Termux/Android) and compatible with Linux/macOS.
6
8
 
7
9
  ## Function Summary
8
10
 
9
11
  - Telegram bot automation with interactive inline menus
10
- - Real MCP tool-calling flow through OpenAI-compatible providers
12
+ - Real MCP tool-calling flow through API-compatible endpoints
11
13
  - Natural-language reminder scheduling (cron persistence)
12
14
  - Cron scope isolation per bot/account (`account_tag`)
13
15
  - Workdir isolation per Telegram account
@@ -15,8 +17,8 @@ MasiX is a Rust-first messaging automation runtime inspired by OpenClaw, focused
15
17
  - Termux wake lock control (`masix termux wake on|off|status`)
16
18
  - Guarded command execution (`/exec`, `/termux`) with allowlists
17
19
  - Termux boot automation (`masix termux boot enable|disable|status`)
18
- - Optional WhatsApp and SMS integrations
19
20
  - Optional local STT via whisper.cpp (`masix config stt`)
21
+ - Optional modules can be installed from server catalog or local `.pkg`
20
22
  - SOUL.md startup memory context
21
23
  - Startup auto-update check/apply with configurable toggle in `config.toml` (`[updates]`)
22
24
 
@@ -33,8 +35,9 @@ masix --help
33
35
 
34
36
  ```bash
35
37
  masix config init
36
- # edit ~/.config/masix/config.toml
38
+ masix config validate
37
39
  masix start
40
+ masix status
38
41
  ```
39
42
 
40
43
  ## Useful Commands
@@ -56,7 +59,7 @@ masix stats
56
59
 
57
60
  - `/cron ...`, `/cron list`, `/cron cancel <id>`
58
61
  - `/exec <allowlisted-command>`
59
- - `/termux info|battery|cmd <termux-command>|boot on|off|status`
62
+ - `/termux ...`
60
63
 
61
64
  ## Notes
62
65
 
@@ -66,9 +69,18 @@ masix stats
66
69
 
67
70
  ## Full Documentation
68
71
 
69
- - Repository README: https://github.com/DioNanos/masix
70
- - Detailed guide: https://github.com/DioNanos/masix/blob/main/docs/USER_GUIDE.md
71
- - Local llama.cpp endpoint guide: https://github.com/DioNanos/masix/blob/main/docs/TERMUX_LLAMA_CPP_LOCAL_ENDPOINT.md
72
+ - Repository README: https://github.com/DioNanos/MasiX
73
+ - Detailed guide: https://github.com/DioNanos/MasiX/blob/main/docs/USER_GUIDE.md
74
+ - Commands reference: https://github.com/DioNanos/MasiX/blob/main/docs/COMMANDS_REFERENCE.md
75
+ - Homebrew tap (Linux/macOS formula): https://github.com/DioNanos/homebrew-masix
76
+ - Local llama.cpp endpoint guide: https://github.com/DioNanos/MasiX/blob/main/docs/TERMUX_LLAMA_CPP_LOCAL_ENDPOINT.md
77
+
78
+ ## Branding
79
+
80
+ <p>
81
+ Copyright (c) 2026 WellaNet.Dev<br>
82
+ Made in Italy 🇮🇹
83
+ </p>
72
84
 
73
85
  ## License
74
86
 
package/install.js CHANGED
@@ -4,6 +4,7 @@ const { execSync } = require('child_process');
4
4
 
5
5
  const BINARY_NAME = 'masix';
6
6
  const PACKAGE_BIN_PATH = path.join(__dirname, 'prebuilt', BINARY_NAME);
7
+ const PREBUILT_DIR = path.join(__dirname, 'prebuilt');
7
8
 
8
9
  // Check if running in Termux
9
10
  const isTermux = process.env.TERMUX_VERSION !== undefined ||
@@ -14,12 +15,22 @@ if (!isTermux) {
14
15
  console.warn(' Installation may fail on other platforms.');
15
16
  }
16
17
 
17
- // Check if prebuilt binary exists
18
- const prebuiltPath = path.join(__dirname, 'prebuilt', BINARY_NAME);
18
+ function hasValidElfPrebuilt(binaryPath) {
19
+ if (!fs.existsSync(binaryPath)) return false;
20
+ try {
21
+ const fd = fs.openSync(binaryPath, 'r');
22
+ const buf = Buffer.alloc(4);
23
+ fs.readSync(fd, buf, 0, 4, 0);
24
+ fs.closeSync(fd);
25
+ return buf[0] === 0x7f && buf[1] === 0x45 && buf[2] === 0x4c && buf[3] === 0x46; // ELF
26
+ } catch {
27
+ return false;
28
+ }
29
+ }
19
30
 
20
- if (fs.existsSync(prebuiltPath)) {
21
- fs.chmodSync(prebuiltPath, 0o755);
22
- console.log(`✅ Using packaged prebuilt binary: ${prebuiltPath}`);
31
+ if (hasValidElfPrebuilt(PACKAGE_BIN_PATH)) {
32
+ fs.chmodSync(PACKAGE_BIN_PATH, 0o755);
33
+ console.log(`✅ Using packaged prebuilt binary: ${PACKAGE_BIN_PATH}`);
23
34
  } else {
24
35
  console.log('🔨 No prebuilt binary found. Building from source...');
25
36
  console.log(' This requires Rust to be installed in Termux.');
@@ -37,6 +48,7 @@ if (fs.existsSync(prebuiltPath)) {
37
48
  }
38
49
 
39
50
  if (fs.existsSync(sourceBinary)) {
51
+ fs.mkdirSync(PREBUILT_DIR, { recursive: true });
40
52
  fs.copyFileSync(sourceBinary, PACKAGE_BIN_PATH);
41
53
  fs.chmodSync(PACKAGE_BIN_PATH, 0o755);
42
54
  console.log(`✅ Binary built and installed at: ${PACKAGE_BIN_PATH}`);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mmmbuto/masix",
3
- "version": "0.2.5",
4
- "description": "MIT Messaging Agent for Termux - Telegram, WhatsApp, SMS with MCP + Cron",
3
+ "version": "0.3.1",
4
+ "description": "Termux-first MIT automation runtime (Telegram, MCP, Cron) with optional in-core STT",
5
5
  "main": "check-update.js",
6
6
  "files": [
7
7
  "README.md",
@@ -21,13 +21,12 @@
21
21
  "keywords": [
22
22
  "termux",
23
23
  "telegram",
24
- "whatsapp",
25
- "sms",
26
24
  "mcp",
27
25
  "cron",
28
26
  "ai",
29
27
  "messaging",
30
- "android"
28
+ "android",
29
+ "stt"
31
30
  ],
32
31
  "author": "Davide A. Guglielmi <dev@mmmbuto.com>",
33
32
  "license": "MIT",
package/prebuilt/masix CHANGED
Binary file