@tryarcanist/cli 0.1.259 → 0.1.260
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 +1 -6
- package/dist/index.js +4 -20
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -184,7 +184,6 @@ Creates a new session and sends the initial prompt.
|
|
|
184
184
|
```bash
|
|
185
185
|
arcanist sessions create https://github.com/your-org/your-repo "fix the login bug"
|
|
186
186
|
arcanist sessions create your-org/your-repo "continue this work" --start-branch wip/resume-me
|
|
187
|
-
arcanist sessions create your-org/your-repo "finish this PR" --continue-pr https://github.com/your-org/your-repo/pull/123
|
|
188
187
|
printf "add tests" | arcanist sessions create your-org/your-repo --prompt-stdin --json
|
|
189
188
|
printf "add tests" | arcanist sessions create your-org/your-repo --prompt-stdin --wait
|
|
190
189
|
arcanist sessions create your-org/your-repo - --model gpt-5.5
|
|
@@ -208,8 +207,6 @@ Use `--base-branch <branch>` to target a non-default base branch. The CLI only v
|
|
|
208
207
|
|
|
209
208
|
Use `--start-branch <branch>` to resume an existing branch with its history instead of forking a fresh branch off base; the control plane verifies the branch exists on the remote and fails closed if it does not.
|
|
210
209
|
|
|
211
|
-
Use `--continue-pr <url>` to continue an open same-repo pull request. The control plane checks out the PR head branch before the prompt runs. `--continue-mode update-pr` updates the referenced PR; `--continue-mode new-pr` starts from that PR head but leaves publish free to open a fresh PR. `auto` is the default and currently resolves to same-PR update for supported open same-repo PRs.
|
|
212
|
-
|
|
213
210
|
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.
|
|
214
211
|
|
|
215
212
|
Sessions always start from a fresh sandbox (the warm sandbox pool was removed).
|
|
@@ -217,9 +214,7 @@ Sessions always start from a fresh sandbox (the warm sandbox pool was removed).
|
|
|
217
214
|
`--idempotency-key <uuid>` is for manually retrying a create request that may have reached the server.
|
|
218
215
|
The CLI derives separate session and prompt idempotency keys from the provided value.
|
|
219
216
|
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
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?`.
|
|
217
|
+
JSON mode returns `{sessionId, sessionUrl?, repoUrl, model?, reasoningEffort?, autoVerify?, baseBranch?, startBranch?, promptId?}`. With `--wait`, JSON mode also includes best-effort result fields when available: `prUrl?`, `publishedBranch?`, and `lastBranch?`.
|
|
223
218
|
|
|
224
219
|
### `arcanist sessions send <session-id> [prompt]`
|
|
225
220
|
|
package/dist/index.js
CHANGED
|
@@ -10659,7 +10659,6 @@ function validateRepoUrl(url) {
|
|
|
10659
10659
|
var PROMPT_TERMINAL_STATUSES = /* @__PURE__ */ new Set(["completed", "failed"]);
|
|
10660
10660
|
var RESULT_FETCH_ATTEMPTS = 5;
|
|
10661
10661
|
var SESSION_CREATE_PROMPT_PREVIEW_MAX_CHARS = 4e3;
|
|
10662
|
-
var ONBOARDING_PROMPT = "Onboard this repository onto Arcanist.";
|
|
10663
10662
|
function selectCreatedPrompt(prompts, promptId) {
|
|
10664
10663
|
if (prompts.length === 0) return null;
|
|
10665
10664
|
if (promptId) {
|
|
@@ -10747,7 +10746,7 @@ async function createCommand(repoUrl, promptArg, options, command) {
|
|
|
10747
10746
|
assertArcanistSessionMutationAllowed("create");
|
|
10748
10747
|
const config = requireConfig(runtime);
|
|
10749
10748
|
resolveModelAndBackend(options);
|
|
10750
|
-
const prompt =
|
|
10749
|
+
const prompt = await resolvePromptInput(promptArg, options);
|
|
10751
10750
|
const waitPollIntervalMs = options.wait ? parsePollInterval(options.pollInterval) : null;
|
|
10752
10751
|
const repoError = validateRepoUrl(repoUrl);
|
|
10753
10752
|
if (repoError) {
|
|
@@ -10761,14 +10760,6 @@ async function createCommand(repoUrl, promptArg, options, command) {
|
|
|
10761
10760
|
if (options.startBranch !== void 0 && !startBranch) {
|
|
10762
10761
|
throw new CliError("user", "--start-branch must not be empty.");
|
|
10763
10762
|
}
|
|
10764
|
-
const continuePr = options.continuePr?.trim();
|
|
10765
|
-
if (options.continuePr !== void 0 && !continuePr) {
|
|
10766
|
-
throw new CliError("user", "--continue-pr must not be empty.");
|
|
10767
|
-
}
|
|
10768
|
-
const continueMode = options.continueMode?.trim();
|
|
10769
|
-
if (options.continueMode !== void 0 && !continueMode) {
|
|
10770
|
-
throw new CliError("user", "--continue-mode must not be empty.");
|
|
10771
|
-
}
|
|
10772
10763
|
const uploadedFiles = await resolveUploadedFileOptions(options.uploadedFile);
|
|
10773
10764
|
const idempotencyKey = options.idempotencyKey ?? randomIdempotencyKey();
|
|
10774
10765
|
const sessionIdempotencyKey = `${idempotencyKey}:session`;
|
|
@@ -10781,9 +10772,6 @@ async function createCommand(repoUrl, promptArg, options, command) {
|
|
|
10781
10772
|
if (promptPreview) body.prompt = promptPreview;
|
|
10782
10773
|
if (baseBranch) body.baseBranch = baseBranch;
|
|
10783
10774
|
if (startBranch) body.startBranch = startBranch;
|
|
10784
|
-
if (continuePr) body.continuePrUrl = continuePr;
|
|
10785
|
-
if (continueMode) body.continueMode = continueMode;
|
|
10786
|
-
if (options.onboarding) body.onboarding = true;
|
|
10787
10775
|
const browserIdentity = options.browserIdentity?.trim();
|
|
10788
10776
|
if (options.browserIdentity !== void 0 && !browserIdentity) {
|
|
10789
10777
|
throw new CliError("user", "--browser-identity must be an identity ID or 'none'.");
|
|
@@ -10855,9 +10843,6 @@ async function createCommand(repoUrl, promptArg, options, command) {
|
|
|
10855
10843
|
if (options.autoVerify) output.autoVerify = true;
|
|
10856
10844
|
if (baseBranch) output.baseBranch = baseBranch;
|
|
10857
10845
|
if (startBranch) output.startBranch = startBranch;
|
|
10858
|
-
if (continuePr) output.continuePrUrl = continuePr;
|
|
10859
|
-
if (continueMode) output.continueMode = continueMode;
|
|
10860
|
-
if (options.onboarding) output.onboarding = true;
|
|
10861
10846
|
if (promptId) output.promptId = promptId;
|
|
10862
10847
|
Object.assign(output, waitResultFields);
|
|
10863
10848
|
writeJson(output);
|
|
@@ -12755,7 +12740,7 @@ function addCreateOptions(cmd) {
|
|
|
12755
12740
|
return cmd.argument("<repo-url>", "Repository URL").argument("[prompt]", "Prompt to send, or '-' to read stdin").option("--model <model>", "Model to use").option("--reasoning-effort <effort>", "Reasoning effort to use for models that support it").option("--auto-verify", "Opt this session into automatic QA verification after PR creation").option("--base-branch <branch>", "Base branch to create the session against (defaults to the repo default branch)").option(
|
|
12756
12741
|
"--start-branch <branch>",
|
|
12757
12742
|
"Resume an existing branch with its history instead of forking a new one off base"
|
|
12758
|
-
).option("--
|
|
12743
|
+
).option("--browser-identity <id|none>", "Attach a business browser identity, or explicitly attach none").option("--prompt-stdin", "Read prompt from stdin").option(
|
|
12759
12744
|
"--uploaded-file <path>",
|
|
12760
12745
|
"Attach a local text file to the prompt as uploadedFiles; repeat for multiple files",
|
|
12761
12746
|
collectUploadedFileOption
|
|
@@ -12763,19 +12748,18 @@ function addCreateOptions(cmd) {
|
|
|
12763
12748
|
"--poll-interval <ms>",
|
|
12764
12749
|
"Polling interval in milliseconds while waiting",
|
|
12765
12750
|
String(DEFAULT_WATCH_POLL_INTERVAL_MS)
|
|
12766
|
-
).option("--idempotency-key <uuid>", "Request idempotency key for safe manual retries").
|
|
12751
|
+
).option("--idempotency-key <uuid>", "Request idempotency key for safe manual retries").addHelpText(
|
|
12767
12752
|
"after",
|
|
12768
12753
|
`
|
|
12769
12754
|
Examples:
|
|
12770
12755
|
arcanist sessions create https://github.com/org/repo "fix bug"
|
|
12771
|
-
arcanist sessions create https://github.com/org/repo "finish this PR" --continue-pr https://github.com/org/repo/pull/123
|
|
12772
12756
|
arcanist sessions create https://github.com/org/repo "review this trace" --uploaded-file trace.txt
|
|
12773
12757
|
printf "fix bug" | arcanist sessions create https://github.com/org/repo --prompt-stdin --json
|
|
12774
12758
|
printf "fix bug" | arcanist sessions create https://github.com/org/repo --prompt-stdin --wait
|
|
12775
12759
|
arcanist sessions create https://github.com/org/repo - --json | jq -r .sessionId | xargs -I{} arcanist sessions events {} --follow --json
|
|
12776
12760
|
|
|
12777
12761
|
JSON:
|
|
12778
|
-
JSON mode returns {sessionId, sessionUrl?, repoUrl, model?, reasoningEffort?, autoVerify?, baseBranch?, startBranch?,
|
|
12762
|
+
JSON mode returns {sessionId, sessionUrl?, repoUrl, model?, reasoningEffort?, autoVerify?, baseBranch?, startBranch?, promptId?}
|
|
12779
12763
|
--wait --json also includes best-effort result fields when available: prUrl?, publishedBranch?, lastBranch?
|
|
12780
12764
|
Follow async progress with: arcanist sessions events <session-id> --follow --json
|
|
12781
12765
|
`
|