@arbidocs/cli 0.3.41 β†’ 0.3.43

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,12 +1,20 @@
1
1
  # Changelog
2
2
 
3
- ## v0.3.41
3
+ ## v0.3.43
4
4
 
5
- [compare changes](https://github.com/arbicity/ARBI-frontend/compare/v0.3.40...HEAD)
5
+ [compare changes](https://github.com/arbicity/ARBI-frontend/compare/v0.3.42...HEAD)
6
6
 
7
7
  ### 🏑 Chore
8
8
 
9
- - Release v0.3.40 [skip ci] ([5e404545](https://github.com/arbicity/ARBI-frontend/commit/5e404545))
9
+ - Release v0.3.42 [skip ci] ([0b0830d0](https://github.com/arbicity/ARBI-frontend/commit/0b0830d0))
10
+
11
+ ## v0.3.40
12
+
13
+ [compare changes](https://github.com/arbicity/ARBI-frontend/compare/v0.3.39...HEAD)
14
+
15
+ ### πŸš€ Enhancements
16
+
17
+ - **cli:** Add --json to list commands + agent-aware not-logged-in hint ([#629](https://github.com/arbicity/ARBI-frontend/pull/629))
10
18
 
11
19
  ## v0.3.39
12
20
 
package/SKILL.md CHANGED
@@ -11,9 +11,10 @@ ARBI is an enterprise document intelligence platform with E2E encrypted communic
11
11
  - Scripted (humans with API access): `arbi register -e <email> -p <password> --verification-code <code>`
12
12
  - Scripted (AI agents / bots, requires `SUPPORT_API_KEY`): `arbi agent-create --email agent-<name>@<domain> --workspace-name "<name>"`
13
13
  - The email MUST start with `agent-`. This path creates the account, logs in, and selects the new workspace in one call.
14
+ - Scripted (non-interactive register for humans with API access): `arbi register --non-interactive --json --email <email> --password "<password>"` β€” emits a single JSON line; `--json` is also supported on `login`, `logout`, and `status`.
14
15
  4. Verify: `arbi status` (add `--json` for machine-readable output)
15
16
 
16
- For multiple agents on the same machine, set `ARBI_ID=<name>` (or `ARBI_CONFIG_DIR=<path>`) to isolate config in `~/.arbi/<name>/`.
17
+ For multiple identities on the same machine, set `ARBI_ID=<name>` (or `ARBI_CONFIG_DIR=<path>`) to isolate config in `~/.arbi/<name>/`. Each identity has its own `config.json` and `credentials.json`, so commands like `ARBI_ID=alice arbi dm list` and `ARBI_ID=bob arbi dm send …` operate independently.
17
18
 
18
19
  ## When to Use
19
20
 
@@ -32,12 +33,12 @@ Documents, conversations, and tags are scoped per workspace. An active workspace
32
33
  Common moves:
33
34
 
34
35
  - List: `arbi workspaces` (human) Β· `arbi workspaces --json` (script) Β· `arbi workspaces --ids`
35
- - Active workspace ID: `arbi workspace current` (prints the ID, empty string if none)
36
- - Pick/switch: `arbi workspace select <id>` β€” clears the chat session; uploaded docs in other workspaces are unaffected
37
- - Create: `arbi workspace create "My WS"` β€” does NOT auto-select, follow with `workspace select`
38
- - Rename / edit: `arbi workspace update '{"name":"New Name"}'`
39
- - Delete: `arbi workspace delete [id]` β€” deletes immediately (no confirmation prompt); if you delete the active workspace, the selection is cleared
40
- - Share: `arbi workspace add-user <email> -r <role>` where role is `owner|collaborator|guest` (may be plan-limited)
36
+ - Active workspace ID: `arbi workspace current` (prints the ID, empty string if none) Β· `arbi workspace current --json` for full details
37
+ - Pick/switch: `arbi workspace select <id-or-name>` β€” accepts a workspace ID or a unique (case-insensitive) name; clears the chat session; uploaded docs in other workspaces are unaffected
38
+ - Create: `arbi workspace create "My WS"` β€” does NOT auto-select. Use `--select` to create + select in one go, `--json` for scripts
39
+ - Rename / edit: `arbi workspace update '{"name":"New Name"}'` (add `--json` for scripts)
40
+ - Delete: `arbi workspace delete [id-or-name]` β€” prompts for confirmation in interactive shells. In non-TTY shells you **must** pass `-y/--yes` (otherwise the command refuses to delete). If you delete the active workspace, the selection is cleared. `--json` outputs `{id, deleted}`
41
+ - Share: `arbi workspace add-user <email> -r <role>` where role is `owner|collaborator|guest` (plan-limited β€” free tier has 0 collaborator slots)
41
42
  - List members: `arbi workspace users [--json]`
42
43
  - Remove member: `arbi workspace remove-user <user-id>`
43
44
  - Copy docs between workspaces: `arbi workspace copy <target-ws-id> <doc-id>...` β€” only copies documents that have finished indexing; partial/failed copies exit non-zero
@@ -45,8 +46,10 @@ Common moves:
45
46
  Scripting notes:
46
47
 
47
48
  - The table output of `arbi workspaces` is NOT reliably parseable (names contain spaces, status cells may contain glyphs). Use `--json` or `--ids`.
49
+ - Switch-by-name in one line: `arbi workspace select "My WS"`. If the name is ambiguous, the CLI lists the matches and exits non-zero β€” use the ID.
48
50
  - Sessions persist between CLI invocations via the config file (default `~/.arbi/`, override with `ARBI_CONFIG_DIR`).
49
51
  - Per-agent isolation: run agents with their own `ARBI_CONFIG_DIR=<path>` (or `ARBI_ID=<name>`) to avoid stomping each other's active workspace.
52
+ - Agent accounts typically have 0 collaborator slots, so `workspace add-user` errors with "Collaborator limit reached" unless the plan is upgraded.
50
53
 
51
54
  ## Tips
52
55
 
@@ -54,7 +57,7 @@ Scripting notes:
54
57
  - If a command fails with "fetch failed", check connectivity with `arbi health`.
55
58
  - Use `arbi ask -n` to start a fresh conversation (forget prior context).
56
59
  - Use `arbi ask -v` for verbose output showing retrieval steps.
57
- - Use `arbi status --json` and `arbi workspace current` to read CLI state from scripts.
60
+ - Use `arbi status --json` and `arbi workspace current` to read CLI state from scripts. `arbi workspaces --json` lists every workspace with `is_selected` marked.
58
61
 
59
62
  ## For Automations / AI Agents
60
63
 
@@ -92,3 +95,14 @@ All document list/search/meta commands support machine-readable output. Prefer `
92
95
  - **Doctags** (tag↔doc link): `arbi doctags create <tag-id> <doc-id...>` / `arbi doctags delete <tag-id> <doc-id...>`.
93
96
  - **Retrieve only**: `arbi find <query> --json` returns raw retrieval results without running the LLM.
94
97
  - **Exit codes**: 0 on success (including clean skips), 1 on error. Errors print to stderr.
98
+
99
+ ## Multi-user / Messaging (for agents)
100
+
101
+ All list commands that summarize people or state support `--json`:
102
+ `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`.
103
+
104
+ - **Contacts are one-way**: `arbi contacts add <email>` only populates *your* contact list; the other party is NOT notified and does not see you in their contacts. Before replying to a DM from a new sender you must add them with `arbi contacts add`.
105
+ - **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.
106
+ - **Listen side-effects**: `arbi listen --agent claude` writes `~/.claude/commands/arbi/SKILL.md` and sets a `defaultAgent` in the CLI config. Run it only on a machine you control.
107
+ - **Persistent agents**: `arbi agent create --name <n> -w <ws-id>` creates a child identity the parent can delegate to (printed email+password). Share workspace IDs via `-w` rather than the interactive picker when running non-interactively.
108
+ - **Agent-create errors**: `agent-create` rejects non-`agent-*` emails with a clear message. If you see "No verification record found" the account probably already exists β€” use `arbi login` instead.