@tryarcanist/cli 0.1.384 → 0.1.386
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 +15 -4
- package/dist/index.js +99 -82
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -13,7 +13,8 @@ Requires Node.js 22 or newer.
|
|
|
13
13
|
## Quick start
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
arcanist auth login # opens the browser; approve once
|
|
17
|
+
printf "arc_..." | arcanist auth login --token-stdin # automation: a token from Settings > CLI
|
|
17
18
|
arcanist sessions list --json
|
|
18
19
|
```
|
|
19
20
|
|
|
@@ -25,7 +26,9 @@ arcanist sessions events "$SESSION_ID" --follow --json
|
|
|
25
26
|
|
|
26
27
|
## Authentication
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
In a terminal, `arcanist auth login` opens the Arcanist app in your browser. Approve once and the CLI saves a new token. Pass `--scope write` for a write-scoped token (default `read`).
|
|
30
|
+
|
|
31
|
+
For automation, mint a token in **Settings > CLI** and pipe it to the CLI:
|
|
29
32
|
|
|
30
33
|
```bash
|
|
31
34
|
printf "arc_..." | arcanist auth login --token-stdin
|
|
@@ -122,7 +125,7 @@ arcanist help sessions events --json
|
|
|
122
125
|
|
|
123
126
|
Each node is `{path, description, aliases, arguments, options, notes?, subcommands}`. The node you ask for also has `globalOptions`, the flags it inherits from its parent commands. `arguments` entries are `{name, description, required, variadic}`, `options` entries are `{flags, description, required, defaultValue?}`, and `notes` holds the examples and JSON output shape that `--help` prints below the options.
|
|
124
127
|
|
|
125
|
-
Commands that need a person at a terminal (`environments login` without `--clear`, `claude login` without `--token-stdin`) fail at once with exit code `1` when stdin or stderr is not a terminal.
|
|
128
|
+
Commands that need a person at a terminal (`auth login` without a token, `environments login` without `--clear`, `claude login` without `--token-stdin`) fail at once with exit code `1` when stdin or stderr is not a terminal.
|
|
126
129
|
|
|
127
130
|
## Commands
|
|
128
131
|
|
|
@@ -219,6 +222,14 @@ ARCANIST_TOKEN=arc_... arcanist auth whoami --json
|
|
|
219
222
|
|
|
220
223
|
JSON mode prints the raw `/api/auth/whoami` API response. Fields currently include `userId`, `email`, `tokenId`, `tokenScope`, and `authMode`.
|
|
221
224
|
|
|
225
|
+
### `arcanist auth browser-session`
|
|
226
|
+
|
|
227
|
+
QA only. Trades a write-scope CLI token for a 24-hour browser session for the same user and prints it as a Playwright storage state (`{"cookies":[...],"origins":[]}`) on stdout. Only GitHub logins listed in the QA worker's `QA_BROWSER_SESSION_LOGINS` may do this; production returns 404. The output holds a live session token, so write it to a private file.
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
ARCANIST_API_URL=https://qa.tryarcanist.com arcanist auth browser-session > storage-state.json
|
|
231
|
+
```
|
|
232
|
+
|
|
222
233
|
### `arcanist codex login`
|
|
223
234
|
|
|
224
235
|
Local development only; deployed workspaces return 403.
|
|
@@ -381,7 +392,7 @@ The upload limit is 3 MB. Each delivered review counts toward your plan's review
|
|
|
381
392
|
|
|
382
393
|
Held-back files are committed, so they ship with your branch; the CLI lists them as `Committed but not uploaded for review (pass --include <path> to upload)`.
|
|
383
394
|
|
|
384
|
-
Output is the headline (`Arcanist review: Hold off on merging.` when a finding blocks merge, else `Arcanist review: Ready to merge.`), the summary, then each finding as `file:line - title` followed by its full text. A blocking finding's title ends with `(blocks merge)`; a non-blocking finding has no tag. A finding with an agent prompt shows it under `Agent prompt:`, ready to paste into a coding agent in this checkout. Then `✅ Ruled out (N)` lists what the review tried to break and why it held. JSON mode returns `{status, requestId, sessionId, verdict, summary, findings, alsoChecked}`, where each finding is `{file, line, blocksMerge, title, body}`, plus `agentPrompt` when it has one; each Ruled out item is `{title, conclusion}`. `alsoChecked` is left out when empty. `environmentDegradedReason` is added
|
|
395
|
+
Output is the headline (`Arcanist review: Hold off on merging.` when a finding blocks merge, else `Arcanist review: Ready to merge.`), the summary, then each finding as `file:line - title` followed by its full text. A blocking finding's title ends with `(blocks merge)`; a non-blocking finding has no tag. A finding with an agent prompt shows it under `Agent prompt:`, ready to paste into a coding agent in this checkout. Then `✅ Ruled out (N)` lists what the review tried to break and why it held. JSON mode returns `{status, requestId, sessionId, verdict, summary, findings, alsoChecked}`, where each finding is `{file, line, blocksMerge, title, body}`, plus `agentPrompt` when it has one; each Ruled out item is `{title, conclusion}`. `alsoChecked` is left out when empty. `environmentDegradedReason` is added only for repositories an operator runs without their Environment.
|
|
385
396
|
|
|
386
397
|
Exit codes: `0` when no finding blocks merge, `1` when a finding blocks merge or the review could not start, `4` when another review of yours is still running, `5` when the review is still running (`--no-wait`), `10` when the review failed, `130` when interrupted (Ctrl-C or SIGTERM).
|
|
387
398
|
|