@tryarcanist/cli 0.1.131 → 0.1.132

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 CHANGED
@@ -123,6 +123,7 @@ printf "add tests" | arcanist sessions create your-org/your-repo --prompt-stdin
123
123
  arcanist sessions create your-org/your-repo - --model gpt-5.5
124
124
  arcanist sessions create your-org/your-repo "port to claude" --backend claude_code --model claude-opus-4-8
125
125
  arcanist sessions create your-org/your-repo "refactor auth" --reasoning-effort xhigh
126
+ arcanist sessions create your-org/your-repo "fix release branch" --base-branch release/2026-06
126
127
  arcanist sessions create your-org/your-repo "review the trace" --uploaded-file trace.txt
127
128
  arcanist sessions create your-org/your-repo "verify the deployed change" --cold
128
129
  arcanist sessions create your-org/your-repo "retry-safe create" --idempotency-key 1f0e6f1a-...
@@ -132,6 +133,8 @@ arcanist sessions create your-org/your-repo "retry-safe create" --idempotency-ke
132
133
 
133
134
  `--wait` blocks until the created prompt finishes and exits non-zero if the prompt finishes with `status: failed`, making it suitable for cron or other schedulers that alert on command failure. `--poll-interval <ms>` tunes the completion check frequency.
134
135
 
136
+ Use `--base-branch <branch>` to target a non-default base branch. The CLI only validates that the branch value is non-empty; branch existence is checked later by the session runtime.
137
+
135
138
  Repeatable `--uploaded-file <path>` flags attach local UTF-8 text files to the prompt. Uploaded file names come from the local basename; directory components are not sent.
136
139
 
137
140
  `--cold` is a deprecated no-op retained for backward compatibility. Sessions always start from a fresh sandbox (the warm sandbox pool was removed), so the flag has no effect.
@@ -140,7 +143,7 @@ Repeatable `--uploaded-file <path>` flags attach local UTF-8 text files to the p
140
143
 
141
144
  `--onboarding` creates an onboarding session: the agent authors the repo's `.arcanist.json`, `.arcanist/` runtime files, `ARCANIST.md`, and conditionally `.arcanist/sandbox.yaml` + `.arcanist/sandbox.layer.Dockerfile` (when the base sandbox lacks a needed toolchain), proves what it can inside its sandbox, and opens the setup PR ready for review. Team use; not part of the external API surface.
142
145
 
143
- JSON mode returns `{sessionId, sessionUrl?, repoUrl, model?, agentRuntimeBackend?, reasoningEffort?, promptId?}`. `sessionUrl` is emitted only when the server returns it; `agentRuntimeBackend` only when `--backend` is passed.
146
+ JSON mode returns `{sessionId, sessionUrl?, repoUrl, model?, agentRuntimeBackend?, reasoningEffort?, baseBranch?, promptId?}`. `sessionUrl` is emitted only when the server returns it; `agentRuntimeBackend` only when `--backend` is passed.
144
147
 
145
148
  ### `arcanist sessions send <session-id> [prompt]`
146
149
 
package/dist/index.js CHANGED
@@ -2571,6 +2571,10 @@ async function createCommand(repoUrl, promptArg, options, command) {
2571
2571
  if (repoError) {
2572
2572
  throw new CliError("user", repoError);
2573
2573
  }
2574
+ const baseBranch = options.baseBranch?.trim();
2575
+ if (options.baseBranch !== void 0 && !baseBranch) {
2576
+ throw new CliError("user", "--base-branch must not be empty.");
2577
+ }
2574
2578
  const uploadedFiles = await resolveUploadedFileOptions(options.uploadedFile);
2575
2579
  const idempotencyKey = options.idempotencyKey ?? randomIdempotencyKey();
2576
2580
  const sessionIdempotencyKey = `${idempotencyKey}:session`;
@@ -2579,6 +2583,7 @@ async function createCommand(repoUrl, promptArg, options, command) {
2579
2583
  if (options.model) body.model = options.model;
2580
2584
  if (options.backend) body.agentRuntimeBackend = agentRuntimeBackend;
2581
2585
  if (options.reasoningEffort) body.reasoningEffort = options.reasoningEffort;
2586
+ if (baseBranch) body.baseBranch = baseBranch;
2582
2587
  if (options.cold) body.cold = true;
2583
2588
  if (options.onboarding) body.onboarding = true;
2584
2589
  const sessionData = await apiFetch(config, "/api/sessions", {
@@ -2624,6 +2629,7 @@ async function createCommand(repoUrl, promptArg, options, command) {
2624
2629
  if (options.model) output.model = options.model;
2625
2630
  if (options.backend) output.agentRuntimeBackend = agentRuntimeBackend;
2626
2631
  if (options.reasoningEffort) output.reasoningEffort = options.reasoningEffort;
2632
+ if (baseBranch) output.baseBranch = baseBranch;
2627
2633
  if (options.onboarding) output.onboarding = true;
2628
2634
  if (promptId) output.promptId = promptId;
2629
2635
  writeJson(output);
@@ -4146,7 +4152,7 @@ program.hook("preAction", (_thisCommand, actionCommand) => {
4146
4152
  applyColorEnvironment(getRuntimeOptions(actionCommand));
4147
4153
  });
4148
4154
  function addCreateOptions(cmd) {
4149
- return cmd.argument("<repo-url>", "Repository URL").argument("[prompt]", "Prompt to send, or '-' to read stdin").option("--model <model>", "Model to use").option("--backend <backend>", "Agent runtime backend: codex (default) or claude_code").option("--reasoning-effort <effort>", "Reasoning effort to use for models that support it").option("--prompt-stdin", "Read prompt from stdin").option(
4155
+ return cmd.argument("<repo-url>", "Repository URL").argument("[prompt]", "Prompt to send, or '-' to read stdin").option("--model <model>", "Model to use").option("--backend <backend>", "Agent runtime backend: codex (default) or claude_code").option("--reasoning-effort <effort>", "Reasoning effort to use for models that support it").option("--base-branch <branch>", "Base branch to create the session against (defaults to the repo default branch)").option("--prompt-stdin", "Read prompt from stdin").option(
4150
4156
  "--uploaded-file <path>",
4151
4157
  "Attach a local text file to the prompt as uploadedFiles; repeat for multiple files",
4152
4158
  collectUploadedFileOption
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryarcanist/cli",
3
- "version": "0.1.131",
3
+ "version": "0.1.132",
4
4
  "description": "CLI for Arcanist — create and manage coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {