omnish 1.3.0 → 1.4.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/CHANGELOG.md CHANGED
@@ -7,6 +7,37 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.4.1] - 2026-05-19
11
+
12
+ ### Added
13
+
14
+ - **`omnish run --verbose` / `-vb`** and **`omnish link --verbose` / `-vb`** for Baileys/gateway debug logging on stderr. Legacy `OMNISH_VERBOSE=1` and `WHATSVERBOSE=1` remain supported.
15
+
16
+ [1.4.1]: https://github.com/labKnowledge/omnish/compare/v1.4.0...v1.4.1
17
+
18
+ ## [1.4.0] - 2026-05-19
19
+
20
+ ### Added
21
+
22
+ - **Watch:** opt-in filesystem, package install, and service state watchers with debounced WhatsApp/Telegram alerts (`watchEnabled`, `/watch`; see [docs/features/watch.md](docs/features/watch.md)). Uses `@parcel/watcher` for cross-platform FS events.
23
+ - **Watch persistence:** rules in `~/.omnish/watch/rules.json` (atomic writes, schema version); events in `events.sqlite`. `watchAutoRestore` (default `true`) reloads adapters on gateway boot when `watchEnabled`; `/watch reload` and richer `/watch status`.
24
+ - **Watch service discovery:** `/watch svc list [filter]` lists OS services and sends a second message with `/watch add svc` templates; `/watch svc templates`, `/watch hints` for FS paths and package logs.
25
+ - **Watch shared rules:** one global `rules.json` namespace across allowlisted users on a device; `notify: self` still alerts only the rule creator.
26
+ - **Watch /config:** `watchEnabled`, `watchDebounceMs`, `watchMaxEventsPerMinute`, and webhook keys on `/config set` whitelist with validation and `/config show` parity.
27
+ - **Platform online catalog:** browse, download, and publish recipes, app commands, cowork tasks, and shortcuts from chat (`/run online`, publish on `/run`, `/apps`, `/cowork`, `/shortcut`); per-command catalog browse on `/apps`, `/cowork`, `/shortcut`.
28
+ - **Platform file management** for attached/platform paths.
29
+
30
+ ### Fixed
31
+
32
+ - **Watch pause/stop:** cancelled debounced pending alerts and re-check live rule state so notifications stop after `/watch pause` or `/watch stop`.
33
+ - **Watch FS excludes:** `-/path` and `--exclude` glob patterns on add; `/watch exclude <name> list|add|rm`.
34
+ - **Watch lifecycle:** global `/watch on|off`; per-rule `enable|disable`; `/watch stop` alias for pause.
35
+ - **Attached mode file handling:** uploads saved on the user device with `Saved:` or clear errors in chat; `/send`, `/sendto`, and cowork match standalone behavior; cluster, allowlist, and WebSocket reliability fixes.
36
+ - **Attached app sessions:** detect sudo/ssh password prompts and accept password replies without default `^A^K` line-clear keys that broke sudo; one-time chat hint.
37
+ - **WhatsApp self-chat:** track omnish outbound message IDs and only skip those `fromMe` echoes so self-chat commands route normally while replies do not re-trigger the shell.
38
+
39
+ [1.4.0]: https://github.com/labKnowledge/omnish/compare/v1.3.0...v1.4.0
40
+
10
41
  ## [1.3.0] - 2026-05-18
11
42
 
12
43
  ### Added
package/README.md CHANGED
@@ -43,6 +43,7 @@
43
43
  - **Background:** **`/bg`** runs a long command in that chat’s cwd; optional **`-n myname`** / **`--name`** labels the job; **`--notify`** / **`-N`** sends a completion notification with exit code and duration. Then `/jobs`, `/log`, `/tail`, `/kill` as usual.
44
44
  - **Cowork:** `/cowork` / `/cw` — scheduled or on-demand saved shell tasks with conditional notifications (`always` / `failure` / `state-change`), heartbeat dead-man's-switch monitoring (`/cowork checkin`), and logs under `~/Cowork/…` by default. See [docs/features/cowork.md](docs/features/cowork.md).
45
45
  - **Webhook receiver:** built-in HTTP endpoint for CI/CD notifications (GitHub Actions, GitLab CI). Enable with `webhookEnabled: true`. See [docs/features/webhook-receiver.md](docs/features/webhook-receiver.md).
46
+ - **Watch (OS event eye):** subscribe to folder changes, package installs, and named service state on Linux/macOS/Windows; notify via chat. Enable with `watchEnabled: true`. See [docs/features/watch.md](docs/features/watch.md).
46
47
  - **Interactive PTY:** drive TUIs and REPLs (`cursor-agent`, `claude`, `bash`, etc.) from DMs. See [Interactive sessions](#interactive-sessions) below.
47
48
  - **User shortcuts:** save per-chat commands under a short name (`/shortcut add myproj !cd ~/code/myproj`), then run **`!myproj`** or **`/myproj`** (bare token only) to expand once—see [User shortcuts](#user-shortcuts).
48
49
 
@@ -127,7 +128,7 @@ Native builds may be required for **`@whiskeysockets/baileys`**, **`sharp`**, **
127
128
 
128
129
  If `link` still fails with **401**, run `pnpm approve-builds && pnpm install`, then `pnpm omnish link --force` to wipe the auth directory under your data dir and pair again.
129
130
 
130
- **`denied` in logs but your number is on `allowFrom`:** WhatsApp may send your chat as a **LID** id (`…@lid`). The app resolves your real phone via `remoteJidAlt` / Baileys LID mapping so `+E164` allowlist still matches. Use `OMNISH_VERBOSE=1` (or legacy `WHATSVERBOSE=1`) if you need to debug.
131
+ **`denied` in logs but your number is on `allowFrom`:** WhatsApp may send your chat as a **LID** id (`…@lid`). The app resolves your real phone via `remoteJidAlt` / Baileys LID mapping so `+E164` allowlist still matches. Use `omnish run --verbose` (legacy: `OMNISH_VERBOSE=1` or `WHATSVERBOSE=1`) if you need to debug.
131
132
 
132
133
  **Phone stuck on “Logging in”** then timeout: WhatsApp often sends a **515 restart** right after a successful QR scan; omnish reconnects automatically. If it still times out, ensure native deps built (`pnpm approve-builds && pnpm install`), then try `omnish link --force` again.
133
134
 
@@ -264,7 +265,7 @@ Index and curated paths: **[docs/README.md](docs/README.md)**.
264
265
 
265
266
  ## Troubleshooting
266
267
 
267
- - Logs: stderr from `omnish run` (`OMNISH_VERBOSE=1` for Baileys; legacy `WHATSVERBOSE=1` works). Job logs: `<data-dir>/jobs/<id>.log`. App session logs: `<data-dir>/apps/<8-char-sha1-prefix>/<name>.log`.
268
+ - Logs: stderr from `omnish run` (`omnish run --verbose` for Baileys; legacy `OMNISH_VERBOSE=1` / `WHATSVERBOSE=1` still works). Job logs: `<data-dir>/jobs/<id>.log`. App session logs: `<data-dir>/apps/<8-char-sha1-prefix>/<name>.log`.
268
269
  - If `pnpm install` skipped build scripts, run **`pnpm approve-builds`** (and reinstall) so Baileys, **node-pty**, and other native deps compile.
269
270
  - WhatsApp / Baileys: see the [`@whiskeysockets/baileys`](https://github.com/WhiskeySockets/Baileys) project for protocol and API details.
270
271
 
@@ -21,6 +21,8 @@
21
21
  "appsClearInput": true,
22
22
  "appsClearInputDelayMs": 20,
23
23
  "appsClearInputSequence": "^A,^K",
24
+ "appsSkipClearOnPasswordPrompt": true,
25
+ "appsPasswordPromptHint": true,
24
26
  "fileSendMaxBytes": 52428800,
25
27
  "fileReceiveMaxBytes": 52428800,
26
28
  "fileReceiveRootMode": "downloads",
@@ -49,5 +51,9 @@
49
51
  "tunnelRelayUrl": "https://tunnel.omnish.dev",
50
52
  "platformToken": "",
51
53
  "platformDeviceId": "",
52
- "tunnelMaxActive": 5
54
+ "tunnelMaxActive": 5,
55
+ "watchEnabled": false,
56
+ "watchDebounceMs": 2000,
57
+ "watchMaxEventsPerMinute": 30,
58
+ "watchAutoRestore": true
53
59
  }