@arbidocs/cli 0.4.109 → 0.4.110

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
@@ -1,16 +1,12 @@
1
1
  # Changelog
2
2
 
3
- ## v0.4.109
3
+ ## v0.4.110
4
4
 
5
- [compare changes](https://github.com/arbicity/ARBI-frontend/compare/v0.4.107...HEAD)
5
+ [compare changes](https://github.com/arbicity/ARBI-frontend/compare/v0.4.109...HEAD)
6
6
 
7
- ### 🚀 Enhancements
8
-
9
- - **coedit:** Share the Word-editor readers as @arbidocs/coedit/commands ([#1615](https://github.com/arbicity/ARBI-frontend/pull/1615))
10
-
11
- ### 🤖 CI
7
+ ### 🏡 Chore
12
8
 
13
- - **publish:** One npm publish at a time ([6c8224f30](https://github.com/arbicity/ARBI-frontend/commit/6c8224f30))
9
+ - Release v0.4.109 [skip ci] ([b638d6a5e](https://github.com/arbicity/ARBI-frontend/commit/b638d6a5e))
14
10
 
15
11
  ## v0.4.107
16
12
 
package/SKILL.md CHANGED
@@ -109,10 +109,11 @@ All list commands that summarize people or state support `--json`:
109
109
  `arbi contacts list --json`, `arbi dm list --json`, `arbi dm send <to> <msg> --json`, `arbi agent list --json`, `arbi session list --json`, `arbi task list --json`.
110
110
 
111
111
  - **Contacts auto-add on DM**: sending or receiving a DM now mirrors both parties into each other's contact lists (backend-side, idempotent). You no longer need `arbi contacts add` before replying to an inbound DM. `arbi contacts --json` strips inline base64 profile pictures by default and exposes `has_picture: true` instead — pass `--include-pictures` to get the bytes.
112
- - **DM E2E proof**: `arbi dm send … --json` and `arbi dm list --json` emit an `encrypted_in_transit: true` flag per message. The SDK seals every DM with the recipient's curve25519 public key before the network call — this flag makes that invariant visible without reading SDK code.
113
- - **DM attachments**: `arbi dm send <to> "<msg>" --attach report.pdf --attach photo.png` encrypts each file with its own key before upload (up to 10 files, 15 MB each; the message text may be omitted when files are attached). `arbi dm list` prefixes such messages with `[N files]`, and `--json` lists them under `attachment_files` (`id`, `name`, `type`, `size` — never the keys). Save one with `arbi dm read <ntf-id> --attachment <att-id> [-o <path>]`; it is downloaded as ciphertext, decrypted locally and size-checked (default path: the file's own name in the current directory).
114
- - **DM inbox triage**: `arbi dm list` accepts `--unread`, `--from <email-or-extid>`, `--thread <peer>` (both directions with one peer), `--since <iso>`, and `-l/--limit <n>`. `arbi dm read --all` / `arbi dm delete --all` bulk-operate without the picker.
115
- - **Non-DM notifications**: `arbi notifications list` (alias: `arbi notifications`) shows workspace invites, contact accepts, batch completes, etc. — everything `arbi dm list` filters out because it's not a `user_message`. Supports `--unread`, `--type <comma-list>`, `--limit`, `--json`.
112
+ - **DM E2E proof**: `arbi dm list --json` emits an `encrypted_in_transit: true` flag per message. A DM is a message in the direct chat (`cht-…`) with one peer, encrypted under the two users' X25519 pair key before the network call; `arbi dm send` prints `Sent (encrypted): chm-… → <peer> (chat cht-…)`.
113
+ - **DM attachments**: `arbi dm send <to> "<msg>" --attach report.pdf --attach photo.png` encrypts each file with its own key before upload (up to 10 files, 15 MB each; the message text may be omitted when files are attached). `arbi dm list` prefixes such messages with `[N files]`, and `--json` lists them under `attachment_files` (`id`, `name`, `type`, `size` — never the keys). Save one with `arbi dm read <chm-id> --attachment <att-id> [-o <path>]`; it is downloaded as ciphertext, decrypted locally and size-checked (default path: the file's own name in the current directory).
114
+ - **DM inbox triage**: `arbi dm list` accepts `--unread`, `--from <email-or-extid>`, `--thread <peer>` (both directions with one peer), `--since <iso>`, and `-l/--limit <n>`. `arbi dm read --all` moves each direct chat's read watermark; `arbi dm delete` removes your own messages only (`--all` = every message you sent).
115
+ - **Group chats**: `arbi chat list|show <cht-id>|create -m <ref> -m <ref> [--title t]|send <cht-id> <text>|members|add|remove|leave` — E2E groups with a per-epoch key sealed to each member; removing someone seals a new epoch to the rest. Personal agents can never join a group.
116
+ - **Non-DM notifications**: `arbi notifications list` (alias: `arbi notifications`) shows workspace invites, contact accepts, batch completes, etc. — (messages between people are chats and never appear here). Supports `--unread`, `--type <comma-list>`, `--limit`, `--json`.
116
117
  - **Workspace watch firehose**: `arbi watch --type task_update,notification` filters the WebSocket stream by event type (unknown types are rejected up-front instead of silently swallowed). Known types: `task_update`, `batch_complete`, `presence_update`, `response_complete`, `notification`, `error`. `arbi watch -n N --timeout S` exits **124** with a `{type:"timeout", received, expected}` JSON terminator if N events never arrived.
117
118
  - **Local filesystem**: `arbi local ls/find/cat/tree --json` for agent-friendly browsing. `ls --all` includes dotfiles; `tree --depth N` controls recursion; `cat --head N` truncates by line count. Empty result sets emit `[]` on stdout, not human prose.
118
119
  - **Update probe**: `arbi update --check` exits 0 if up to date and 1 if an update is available (`git diff --exit-code` convention). `arbi update --json` (implies `--check`) emits `{current, latest, update_available}` and is the right way for an agent to gate behavior on the CLI version.