omnish 1.2.2 → 1.2.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/CHANGELOG.md +13 -0
- package/README.md +41 -7
- package/dist/index.js +167 -155
- package/package.json +10 -19
package/CHANGELOG.md
CHANGED
|
@@ -7,15 +7,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.2.3] - 2026-05-08
|
|
11
|
+
|
|
10
12
|
### Added
|
|
11
13
|
|
|
12
14
|
- **`/run` queue shorthand `-q`**: same as `--queue` for FIFO recipe runs per chat (see `/run help`).
|
|
13
15
|
- **Documentation**: [Run queue](docs/features/run-queue.md) — `-q` / `--queue`, pending vs active, `/run queue` / `resume`, pause rules, and resource model.
|
|
16
|
+
- **Multi-target `/sendto`**: destination targeting now supports `wa`, `tg`, `*`, explicit `+E164`, comma-separated `+E164,+E164`, and compatibility aliases (`wa:all`, `tg:all`, etc.).
|
|
17
|
+
- **Multi-file selectors for `/send` and `/sendto`**: `file1,file2`, `*.ext`, and recursive `**/*.ext` resolved from session cwd.
|
|
14
18
|
|
|
15
19
|
### Changed
|
|
16
20
|
|
|
17
21
|
- **`/run queue` status**: shows the active session’s recipe, a numbered list of waiting recipe labels, and clarifies that **Pending** counts only jobs not yet started; clearer enqueue replies when items line up behind an active run.
|
|
18
22
|
- **`/run help`**: documents `-q`, pending vs active semantics, and queue resume behavior.
|
|
23
|
+
- **File send help semantics**: `/send`, `/files`, and `/sendto` usage text now uses the canonical grammar `/send <selectors> [-- caption]` and `/sendto <destination> <selectors> [-- caption]`.
|
|
24
|
+
|
|
25
|
+
### Documentation
|
|
26
|
+
|
|
27
|
+
- Updated [docs/files-send-receive.md](docs/files-send-receive.md) with selector grammar, destination matrix, result model (`recipients x files`), and failure expectations.
|
|
28
|
+
- Updated [docs/guides/interactive-cli.md](docs/guides/interactive-cli.md) with `/sendto` syntax, quick recipes, and troubleshooting notes.
|
|
29
|
+
- Updated [README.md](README.md) quick examples and docs index labels for multi-target `/sendto` and selector-based `/send`.
|
|
30
|
+
|
|
31
|
+
[1.2.3]: https://github.com/eligapris/omnish/compare/v1.2.2...v1.2.3
|
|
19
32
|
|
|
20
33
|
## [1.2.1] - 2026-05-05
|
|
21
34
|
|
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
- `omnish link` — QR login (WhatsApp → Linked devices), or **`omnish link --tg <bot_token>`** to save a Telegram bot token and set `gatewayMode` (`telegram`, or `both` if WhatsApp is already linked). See `omnish link --help`.
|
|
33
33
|
- `omnish run` — Listen for DMs; execute commands; reply with output.
|
|
34
|
-
- **`omnish i`** — Interactive terminal with the same commands as chat (local full trust; the inbox allowlist is **not** applied). Run from any directory; session cwd starts at the current directory. Use **`/sendto
|
|
34
|
+
- **`omnish i`** — Interactive terminal with the same commands as chat (local full trust; the inbox allowlist is **not** applied). Run from any directory; session cwd starts at the current directory. Use **`/sendto <destination> <selectors> [-- caption]`** (for example `wa`, `tg`, `*`, `+E164,+E164`) to push files through a running gateway (see `omnish i --help`). Background jobs from `/bg` in the REPL are **only** that process (not the gateway’s job list).
|
|
35
35
|
- **Sync:** send `!ls` or `! ls` (prefix configurable; default `!`). Each chat has its **own working directory**; use `!cd /path` or `! cd /path` to change it (saved under the data dir, e.g. `~/.omnish/sessions.json`).
|
|
36
36
|
- **Background:** `/bg long-running-command` runs in that chat’s cwd, then `/jobs`, `/log <id>`, `/tail <id>`, `/kill <id>`.
|
|
37
37
|
- **Cowork:** `/cowork` / `/cw` — scheduled or on-demand saved shell tasks, logs under `~/Cowork/…` by default. See [docs/features/cowork.md](docs/features/cowork.md).
|
|
@@ -178,8 +178,8 @@ To send a literal `!`, `/`, or `>` to the attached program, use **`/apps send <n
|
|
|
178
178
|
|
|
179
179
|
| Command | Description |
|
|
180
180
|
|--------|-------------|
|
|
181
|
-
| `omnish link` / `link --force` | Print QR; save session under `<data-dir>/auth/` (`--force` deletes old auth first) |
|
|
182
|
-
| `omnish run` | Start gateway (foreground) |
|
|
181
|
+
| `omnish link` / `link --force` | Print QR; save session under `<data-dir>/auth/` (`--force` deletes old auth first). Telegram token mode: `omnish link --tg <token>` (alias: `--telegram`). |
|
|
182
|
+
| `omnish run` | Start gateway (foreground). Background: `omnish run -d [--log-file <path>]`. |
|
|
183
183
|
| `omnish stop` | Stop a background gateway (`omnish run -d`; uses `<data-dir>/gateway.pid`) |
|
|
184
184
|
| `omnish i` / `interactive` | Chat-equivalent REPL on your terminal; **`omnish i --help`** · [interactive-cli.md](docs/guides/interactive-cli.md) |
|
|
185
185
|
| `omnish service …` | Service status, logs, install/uninstall (same trust gate as **`/service`** in chat) |
|
|
@@ -187,12 +187,46 @@ To send a literal `!`, `/`, or `>` to the attached program, use **`/apps send <n
|
|
|
187
187
|
| `omnish allow +1555...` | Add WhatsApp number to allowlist |
|
|
188
188
|
| `omnish allow tg:<id>` | Add Telegram user id |
|
|
189
189
|
| `omnish deny …` | Remove allowlist entry |
|
|
190
|
-
| `omnish status` | Data dir, auth, allowlists, jobs, cluster (if enabled) |
|
|
190
|
+
| `omnish status [--check-updates]` | Data dir, auth, allowlists, jobs, cluster (if enabled); optional live npm/update check |
|
|
191
|
+
| `omnish commands` | Print chat command help on the host terminal (`/help` equivalent) + `/config`-editable keys |
|
|
192
|
+
| `omnish security [--json]` | Local security posture report (`--json` for scripts; non-zero exit on error findings) |
|
|
191
193
|
| `omnish cluster [status \| use <sender> <label-or-id>]` | Show cluster state or seed a sender → machine binding |
|
|
192
194
|
|
|
193
195
|
Config: `<data-dir>/config.json` (see [config.example.json](config.example.json)). Use `omnish status` for the resolved path.
|
|
194
196
|
|
|
195
|
-
Chat (allowlisted): **`/config`** (view/set many keys), **`/c`** · **`/pcs`** · **`/computers`** (chat-driven cluster — `/c here` to take over, `/c help`), **`/reload`** — see [docs/features/cluster-and-chat-config.md](docs/features/cluster-and-chat-config.md).
|
|
197
|
+
Chat (allowlisted): **`/config`** (view/set many keys), **`/c`** · **`/pcs`** · **`/computers`** (chat-driven cluster — `/c here` to take over, `/c help`), **`/reload`**, **`/updates`** (`/updates cached`), **`/security`** (`summary`, `tips`), **`/service`** (`status`, `instructions`, `logs`, optional `install/uninstall`) — see [docs/features/cluster-and-chat-config.md](docs/features/cluster-and-chat-config.md).
|
|
198
|
+
|
|
199
|
+
### Quick file-send examples
|
|
200
|
+
|
|
201
|
+
```text
|
|
202
|
+
/send ./photo.png
|
|
203
|
+
/send ./file1.mp4,./file2.mp4 -- Files for today
|
|
204
|
+
/send **/*.mp4
|
|
205
|
+
/sendto wa ./promo.mp4
|
|
206
|
+
/sendto * intro.mp4,notes.pdf -- Shared files
|
|
207
|
+
/sendto +15550000001,+15550000002 file1.png,file2.png
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Quick meaning:
|
|
211
|
+
|
|
212
|
+
- `/send` sends to the current chat.
|
|
213
|
+
- `/sendto` lets you pick recipients directly.
|
|
214
|
+
- Selectors can be exact files (`a,b`) or patterns (`*.mp4`, `**/*.mp4`).
|
|
215
|
+
|
|
216
|
+
### First `/sendto` in 5 commands
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
omnish run
|
|
220
|
+
omnish i
|
|
221
|
+
!cd ~/Downloads
|
|
222
|
+
/sendto wa ./photo.png
|
|
223
|
+
/sendto * *.mp4 -- Video batch
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
What to expect:
|
|
227
|
+
|
|
228
|
+
- Command 4 sends one file to all allowlisted WhatsApp numbers.
|
|
229
|
+
- Command 5 sends matching videos to allowlisted WhatsApp + Telegram recipients.
|
|
196
230
|
|
|
197
231
|
## Documentation
|
|
198
232
|
|
|
@@ -201,7 +235,7 @@ Index and curated paths: **[docs/README.md](docs/README.md)**.
|
|
|
201
235
|
| Topic | Doc |
|
|
202
236
|
|-------|-----|
|
|
203
237
|
| Vision — local first, product direction | [docs/vision.md](docs/vision.md) |
|
|
204
|
-
| Interactive terminal (`omnish i`, `/sendto`) | [docs/guides/interactive-cli.md](docs/guides/interactive-cli.md) |
|
|
238
|
+
| Interactive terminal (`omnish i`, `/sendto` multi-target) | [docs/guides/interactive-cli.md](docs/guides/interactive-cli.md) |
|
|
205
239
|
| Configuration (`config.json`) | [docs/guides/configuration.md](docs/guides/configuration.md) |
|
|
206
240
|
| Browser setup UI (`omnish ui`) | [docs/guides/ui.md](docs/guides/ui.md) |
|
|
207
241
|
| Cluster roster + `/config` from chat | [docs/features/cluster-and-chat-config.md](docs/features/cluster-and-chat-config.md) |
|
|
@@ -213,7 +247,7 @@ Index and curated paths: **[docs/README.md](docs/README.md)**.
|
|
|
213
247
|
| System agents + `/run` | [docs/guides/system-agents-and-run.md](docs/guides/system-agents-and-run.md) |
|
|
214
248
|
| MCP IDE spike (experimental) | [contrib/mcp-spike/README.md](contrib/mcp-spike/README.md) |
|
|
215
249
|
| Telegram | [docs/telegram-integration-notes.md](docs/telegram-integration-notes.md) |
|
|
216
|
-
| Send/receive files | [docs/files-send-receive.md](docs/files-send-receive.md) |
|
|
250
|
+
| Send/receive files (`/send` selectors, `/sendto` destinations) | [docs/files-send-receive.md](docs/files-send-receive.md) |
|
|
217
251
|
| Troubleshooting | [docs/advanced/troubleshooting.md](docs/advanced/troubleshooting.md) |
|
|
218
252
|
| Implementation / contributors | [docs/advanced/implementation.md](docs/advanced/implementation.md) |
|
|
219
253
|
| Architecture (legacy) | [docs/architecture-and-implementation.md](docs/architecture-and-implementation.md) |
|