@tryarcanist/cli 0.1.254 → 0.1.256
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 +7 -10
- package/dist/index.js +12 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -189,7 +189,6 @@ arcanist sessions create your-org/your-repo "finish this PR" --continue-pr https
|
|
|
189
189
|
printf "add tests" | arcanist sessions create your-org/your-repo --prompt-stdin --json
|
|
190
190
|
printf "add tests" | arcanist sessions create your-org/your-repo --prompt-stdin --wait
|
|
191
191
|
arcanist sessions create your-org/your-repo - --model gpt-5.5
|
|
192
|
-
arcanist sessions create your-org/your-repo "port to claude" --backend claude_code --model claude-opus-4-8
|
|
193
192
|
arcanist sessions create your-org/your-repo "refactor auth" --reasoning-effort xhigh
|
|
194
193
|
arcanist sessions create your-org/your-repo "use the saved login" --browser-identity identity-id
|
|
195
194
|
arcanist sessions create your-org/your-repo "start signed out" --browser-identity none
|
|
@@ -198,7 +197,7 @@ arcanist sessions create your-org/your-repo "review the trace" --uploaded-file t
|
|
|
198
197
|
arcanist sessions create your-org/your-repo "retry-safe create" --idempotency-key 1f0e6f1a-...
|
|
199
198
|
```
|
|
200
199
|
|
|
201
|
-
`--
|
|
200
|
+
`--model` pins the model for the session; the CLI rejects an unknown model before any network call. Run `arcanist models list` for the selectable models. When `--model` is omitted the default is used. Claude models run on the Codex runtime and require the Anthropic provider credential configured in Settings.
|
|
202
201
|
|
|
203
202
|
`--wait` blocks until the created prompt finishes, prints the resulting PR/branch line in human-readable mode when it is already available, and exits non-zero if the prompt finishes with `status: failed`, making it suitable for cron or other schedulers that alert on command failure. JSON mode waits quietly and prints the create payload after the prompt completes successfully. `--poll-interval <ms>` tunes the completion check frequency.
|
|
204
203
|
|
|
@@ -226,7 +225,7 @@ The CLI derives separate session and prompt idempotency keys from the provided v
|
|
|
226
225
|
|
|
227
226
|
`--onboarding` creates an onboarding session: the agent authors the repo's `.arcanist.json` (`appRuntime` runtime contract plus optional legacy `verify` metadata), a root `REVIEW.md` with repo-specific review checks (skipped only when the repo yields none), `.arcanist/` runtime files as needed, and `ARCANIST.md` only when the repo has no usable project doc, proves what it can inside its sandbox, and opens the setup PR ready for review. Zeus discovers and observes review commands itself; the live server-side `repo_review_config.verify_config_json` surface supplies test-coverage lens overrides. The onboarding behavior is driven by the bridge's canonical onboarding playbook, not the prompt, so `--onboarding` needs no prompt: `arcanist sessions create <repo> --onboarding --wait`. Any prompt supplied alongside `--onboarding` is ignored. Team use; not part of the external API surface.
|
|
228
227
|
|
|
229
|
-
JSON mode returns `{sessionId, sessionUrl?, repoUrl, model?,
|
|
228
|
+
JSON mode returns `{sessionId, sessionUrl?, repoUrl, model?, reasoningEffort?, autoVerify?, baseBranch?, startBranch?, continuePrUrl?, continueMode?, onboarding?, promptId?}`. With `--wait`, JSON mode also includes best-effort result fields when available: `prUrl?`, `publishedBranch?`, and `lastBranch?`.
|
|
230
229
|
|
|
231
230
|
### `arcanist sessions qa <pr-url>`
|
|
232
231
|
|
|
@@ -235,7 +234,6 @@ Starts a QA verification session for an existing GitHub pull request.
|
|
|
235
234
|
```bash
|
|
236
235
|
arcanist sessions qa https://github.com/your-org/your-repo/pull/123
|
|
237
236
|
arcanist sessions qa https://github.com/your-org/your-repo/pull/123 --model gpt-5.4
|
|
238
|
-
arcanist sessions qa https://github.com/your-org/your-repo/pull/123 --backend claude_code --model claude-opus-4-8
|
|
239
237
|
arcanist sessions qa https://github.com/your-org/your-repo/pull/123 --reasoning-effort xhigh
|
|
240
238
|
arcanist sessions qa https://github.com/your-org/your-repo/pull/123 --wait
|
|
241
239
|
arcanist sessions qa https://github.com/your-org/your-repo/pull/123 --idempotency-key 1f0e6f1a-...
|
|
@@ -245,9 +243,8 @@ The PR URL must be `https://github.com/<owner>/<repo>/pull/<number>`.
|
|
|
245
243
|
The CLI derives the repo from that URL, creates a QA session with `qa: true` and `targetPrUrl`, then enqueues the verifier prompt (skipped when the server signals `promptAlreadyEnqueued`).
|
|
246
244
|
Inspect progress with the session URL or the session events stream.
|
|
247
245
|
|
|
248
|
-
`--
|
|
249
|
-
`--model`
|
|
250
|
-
When `--model` is omitted, the backend default is used.
|
|
246
|
+
`--model` pins the model for the QA session, and the CLI rejects an unknown model before any network call.
|
|
247
|
+
When `--model` is omitted, the default is used.
|
|
251
248
|
|
|
252
249
|
`--wait` blocks until the enqueued QA prompt finishes and exits non-zero if the prompt fails.
|
|
253
250
|
JSON mode waits quietly and prints the create payload after the prompt completes successfully.
|
|
@@ -257,7 +254,7 @@ JSON mode waits quietly and prints the create payload after the prompt completes
|
|
|
257
254
|
The CLI derives separate session and prompt idempotency keys from the provided value.
|
|
258
255
|
If session creation succeeds but prompt enqueue fails, retry the same command with the same `--idempotency-key`.
|
|
259
256
|
|
|
260
|
-
JSON mode returns `{sessionId, sessionUrl?, repoUrl, targetPrUrl, model?,
|
|
257
|
+
JSON mode returns `{sessionId, sessionUrl?, repoUrl, targetPrUrl, model?, reasoningEffort?, promptId?}`.
|
|
261
258
|
`promptId` is absent when the coordinator already enqueued the verifier prompt (no duplicate send). Active-verifier and per-PR run-limit conflicts both use exit code `4`; active-verifier errors include the existing session handle when the server returns it.
|
|
262
259
|
|
|
263
260
|
### `arcanist sessions send <session-id> [prompt]`
|
|
@@ -433,12 +430,12 @@ Creates a scheduled automation for a GitHub repo. Create/delete require a write-
|
|
|
433
430
|
```bash
|
|
434
431
|
arcanist automations create your-org/your-repo "summarize new regressions" --cron "*/15 * * * *"
|
|
435
432
|
arcanist automations create your-org/your-repo "audit N+1s" --cron "0 13 * * 5" --model gpt-5.5
|
|
436
|
-
arcanist automations create your-org/your-repo "/
|
|
433
|
+
arcanist automations create your-org/your-repo "/your-repo-skill" --cron "0 8 * * *" --slack-team-id T0123ABC --slack-channel-id C0456DEF
|
|
437
434
|
printf "summarize new regressions" | arcanist automations create your-org/your-repo --prompt-stdin --cron "*/15 * * * *" --json
|
|
438
435
|
arcanist automations create https://github.com/your-org/your-repo - --cron "0 14 * * 1-5" --name "Weekday summary"
|
|
439
436
|
```
|
|
440
437
|
|
|
441
|
-
Use `--model <model>` to pin the model for sessions started by the automation.
|
|
438
|
+
Use `--model <model>` to pin the model for sessions started by the automation. When `--model` is omitted the Codex default is used.
|
|
442
439
|
|
|
443
440
|
Use `--slack-team-id <team-id>` together with `--slack-channel-id <channel-id>` to deliver each completed automation digest into a Slack channel. Both flags are required together; the target workspace must already be connected to Arcanist and the bot must already be in the channel.
|
|
444
441
|
|
package/dist/index.js
CHANGED
|
@@ -8725,7 +8725,7 @@ var AUTOMATION_ERROR_HINTS = {
|
|
|
8725
8725
|
invalid_model: "Model is unknown or not selectable for its backend. Run `arcanist automations create --help` for allowed models.",
|
|
8726
8726
|
repo_not_available: "Check that the token owner has GitHub access and Arcanist is installed for that repo.",
|
|
8727
8727
|
duplicate_rule: "An enabled automation already exists for this repo, cron, and prompt.",
|
|
8728
|
-
invalid_skill: "Use a leading slash skill that exists in the selected repo, for example: /
|
|
8728
|
+
invalid_skill: "Use a leading slash skill that exists in the selected repo, for example: /your-repo-skill",
|
|
8729
8729
|
invalid_slack_target: "Pass both --slack-team-id and --slack-channel-id to enable Slack delivery.",
|
|
8730
8730
|
slack_workspace_not_connected: "Connect that Slack workspace to Arcanist before creating the automation.",
|
|
8731
8731
|
slack_channel_unavailable: "Check the Slack channel ID and confirm the bot can see the channel.",
|
|
@@ -11549,6 +11549,13 @@ async function reviewCommand(prUrl, options = {}, command) {
|
|
|
11549
11549
|
...options.model !== void 0 ? { model: options.model } : {}
|
|
11550
11550
|
})
|
|
11551
11551
|
});
|
|
11552
|
+
if (trigger.skipped && trigger.reason === "duplicate_diff") {
|
|
11553
|
+
emit(command, options, trigger, (payload) => {
|
|
11554
|
+
const source = payload.sourcePrUrl ? sanitizeTerminalText(payload.sourcePrUrl) : "a prior pull request";
|
|
11555
|
+
console.log(`Zeus review skipped: this pull request has the same diff as ${source}.`);
|
|
11556
|
+
});
|
|
11557
|
+
return;
|
|
11558
|
+
}
|
|
11552
11559
|
if (!options.wait || trigger.cached) {
|
|
11553
11560
|
emit(command, options, trigger, (payload) => {
|
|
11554
11561
|
if (payload.cached) console.log(`Zeus review already completed: ${payload.verdict ?? "unknown"}.`);
|
|
@@ -13136,7 +13143,7 @@ codex.command("use <state>").description("Turn using your saved Codex subscripti
|
|
|
13136
13143
|
codex.command("status").description("Show Codex subscription availability and whether auth is saved").action((options, command) => codexStatusCommand(options, command));
|
|
13137
13144
|
codex.command("logout").description("Deactivate the selector and remove the stored Codex subscription auth for your user").action((options, command) => codexLogoutCommand(options, command));
|
|
13138
13145
|
var sessions = program.command("sessions").description("Session commands");
|
|
13139
|
-
program.command("review <pr-url>").description("Run a Zeus review for a GitHub pull request").option("--focus <text>", "Focus the review on a specific concern").option("--model <model>", "Pin the reviewer model (Arcanist members only); defaults to
|
|
13146
|
+
program.command("review <pr-url>").description("Run a Zeus review for a GitHub pull request").option("--focus <text>", "Focus the review on a specific concern").option("--model <model>", "Pin the reviewer model (Arcanist members only); defaults to the Codex reviewer").option("--wait", "Wait for the review and print its verdict and findings").option("--poll-interval <ms>", "Polling interval in milliseconds while waiting (default 10000)").addHelpText(
|
|
13140
13147
|
"after",
|
|
13141
13148
|
`
|
|
13142
13149
|
Examples:
|
|
@@ -13144,9 +13151,8 @@ Examples:
|
|
|
13144
13151
|
arcanist review https://github.com/org/repo/pull/123 --focus "Check auth" --wait
|
|
13145
13152
|
arcanist review https://github.com/org/repo/pull/123 --model gpt-5.5 --wait
|
|
13146
13153
|
|
|
13147
|
-
|
|
13148
|
-
|
|
13149
|
-
a specific reviewer model instead (members only).
|
|
13154
|
+
Zeus reviews with a pinned Codex reviewer model. --model pins a different reviewer model
|
|
13155
|
+
instead (members only).
|
|
13150
13156
|
Zeus review is currently available to Arcanist members only.
|
|
13151
13157
|
`
|
|
13152
13158
|
).action((prUrl, options, command) => reviewCommand(prUrl, options, command));
|
|
@@ -13319,7 +13325,7 @@ automations.command("create").description("Create a scheduled automation").argum
|
|
|
13319
13325
|
Examples:
|
|
13320
13326
|
arcanist automations create tryarcanist/arcanist "summarize regressions" --cron "*/15 * * * *"
|
|
13321
13327
|
arcanist automations create tryarcanist/arcanist "audit N+1s" --cron "0 13 * * 5" --model gpt-5.5
|
|
13322
|
-
arcanist automations create tryarcanist/arcanist "/audit-
|
|
13328
|
+
arcanist automations create tryarcanist/arcanist "/audit-zeus-day yesterday" --cron "0 8 * * *" --slack-team-id T0123ABC --slack-channel-id C0456DEF
|
|
13323
13329
|
printf "summarize regressions" | arcanist automations create tryarcanist/arcanist --prompt-stdin --cron "*/15 * * * *" --json
|
|
13324
13330
|
`
|
|
13325
13331
|
).action((repoUrl, prompt, options, command) => createAutomationCommand(repoUrl, prompt, options, command));
|