@tryarcanist/cli 0.1.312 → 0.1.314
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/dist/index.js +54 -27
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -7365,16 +7365,52 @@ var require_dist = __commonJS({
|
|
|
7365
7365
|
});
|
|
7366
7366
|
|
|
7367
7367
|
// src/index.ts
|
|
7368
|
-
import { createRequire as createRequire2 } from "module";
|
|
7369
7368
|
import { Command } from "commander";
|
|
7370
7369
|
|
|
7370
|
+
// package.json
|
|
7371
|
+
var package_default = {
|
|
7372
|
+
name: "@tryarcanist/cli",
|
|
7373
|
+
version: "0.1.314",
|
|
7374
|
+
description: "CLI for Arcanist - create and manage coding agent sessions",
|
|
7375
|
+
type: "module",
|
|
7376
|
+
bin: {
|
|
7377
|
+
arcanist: "dist/index.js"
|
|
7378
|
+
},
|
|
7379
|
+
engines: {
|
|
7380
|
+
node: ">=22"
|
|
7381
|
+
},
|
|
7382
|
+
files: [
|
|
7383
|
+
"dist"
|
|
7384
|
+
],
|
|
7385
|
+
scripts: {
|
|
7386
|
+
build: "tsup",
|
|
7387
|
+
typecheck: "tsc --noEmit",
|
|
7388
|
+
prepublishOnly: "npm run build",
|
|
7389
|
+
"bundle:sandbox": "tsup --config tsup.sandbox.config.ts"
|
|
7390
|
+
},
|
|
7391
|
+
publishConfig: {
|
|
7392
|
+
access: "public"
|
|
7393
|
+
},
|
|
7394
|
+
repository: {
|
|
7395
|
+
type: "git",
|
|
7396
|
+
url: "git+https://github.com/tryarcanist/arcanist.git",
|
|
7397
|
+
directory: "apps/cli"
|
|
7398
|
+
},
|
|
7399
|
+
homepage: "https://www.tryarcanist.com",
|
|
7400
|
+
license: "MIT",
|
|
7401
|
+
dependencies: {
|
|
7402
|
+
commander: "^12.1.0"
|
|
7403
|
+
},
|
|
7404
|
+
devDependencies: {
|
|
7405
|
+
tsup: "^8.0.0",
|
|
7406
|
+
typescript: "^5.9.3"
|
|
7407
|
+
}
|
|
7408
|
+
};
|
|
7409
|
+
|
|
7371
7410
|
// src/commands/artifacts.ts
|
|
7372
7411
|
import { existsSync as existsSync2, mkdirSync as mkdirSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
7373
7412
|
import { basename, join as join2, resolve as resolve2 } from "path";
|
|
7374
7413
|
|
|
7375
|
-
// src/api.ts
|
|
7376
|
-
import { createRequire } from "module";
|
|
7377
|
-
|
|
7378
7414
|
// ../../shared/utils/errors.ts
|
|
7379
7415
|
function stringifyError(error51, fallback = "") {
|
|
7380
7416
|
const message = error51 instanceof Error ? error51.message : String(error51);
|
|
@@ -7558,8 +7594,7 @@ function formatJsonError(err) {
|
|
|
7558
7594
|
}
|
|
7559
7595
|
|
|
7560
7596
|
// src/api.ts
|
|
7561
|
-
var
|
|
7562
|
-
var { version } = require2("../package.json");
|
|
7597
|
+
var { version } = package_default;
|
|
7563
7598
|
var CLI_USER_AGENT = `arcanist-cli/${version}`;
|
|
7564
7599
|
var DEFAULT_HTTP_TIMEOUT_MS = 3e4;
|
|
7565
7600
|
var MIN_HTTP_TIMEOUT_MS = 1e3;
|
|
@@ -24002,14 +24037,7 @@ var MAX_ENV_KEY_CHARS = 80;
|
|
|
24002
24037
|
var MAX_ENV_VALUE_BYTES = 2 * 1024;
|
|
24003
24038
|
var MAX_ENV_VARS = 50;
|
|
24004
24039
|
var SECRET_PATTERN = /\b(secret|token|password|passwd|private_key|private-key|access_key|access-key|client_secret|client-secret)\b|BEGIN PRIVATE KEY/i;
|
|
24005
|
-
var FORBIDDEN_PATHS = [
|
|
24006
|
-
"/app",
|
|
24007
|
-
"/app/start-bridge.sh",
|
|
24008
|
-
"/app/bridge",
|
|
24009
|
-
"/app/scripts",
|
|
24010
|
-
"/workspace",
|
|
24011
|
-
"/usr/local/sbin/arcanist-enforce-egress"
|
|
24012
|
-
];
|
|
24040
|
+
var FORBIDDEN_PATHS = ["/app", "/app/start-bridge.sh", "/app/bridge", "/app/scripts", "/workspace"];
|
|
24013
24041
|
var FORBIDDEN_TARGETING_OPS = /\b(rm|mv|cp|ln|chmod|chown|truncate|tee)\b|\bsed\s+-i\b|\bcat\s*>/;
|
|
24014
24042
|
var ENV_KEY_RE = /^[A-Z_][A-Z0-9_]{0,79}$/;
|
|
24015
24043
|
var SandboxLayerValidationError = class extends Error {
|
|
@@ -25183,17 +25211,9 @@ function parseOnboardingStageEvent(input) {
|
|
|
25183
25211
|
return { stage: record2.stage, status, ...detail ? { detail } : {} };
|
|
25184
25212
|
}
|
|
25185
25213
|
|
|
25186
|
-
// ../../shared/transcript/malformed-search.ts
|
|
25187
|
-
var MALFORMED_SEARCH_BLOCKED_TRANSCRIPT_PREFIX = "Arcanist blocked this malformed search command before execution.";
|
|
25188
|
-
var BASH_UNMATCHED_QUOTE_EOF_RE = /\/bin\/bash:\s+-c:\s+line\s+\d+:\s+unexpected EOF while looking for matching [`'"][`'"]?/i;
|
|
25189
|
-
function isMalformedSearchBlockedError(value) {
|
|
25190
|
-
return typeof value === "string" && value.includes(MALFORMED_SEARCH_BLOCKED_TRANSCRIPT_PREFIX);
|
|
25191
|
-
}
|
|
25192
|
-
function containsMalformedSearchBashEof(value) {
|
|
25193
|
-
return BASH_UNMATCHED_QUOTE_EOF_RE.test(value);
|
|
25194
|
-
}
|
|
25195
|
-
|
|
25196
25214
|
// ../../shared/transcript/projector.ts
|
|
25215
|
+
var MALFORMED_SEARCH_BLOCKED_TRANSCRIPT_PREFIX = "Arcanist blocked this malformed search command before execution.";
|
|
25216
|
+
var BASH_UNMATCHED_QUOTE_EOF_RE = /\/bin\/bash:\s+-c:\s+line\s+\d+:\s+unexpected EOF while looking for matching [`'\"][`'\"]?/i;
|
|
25197
25217
|
var DUPLICATE_TEXT_DELTA_MIN_CHARS = 24;
|
|
25198
25218
|
var RAW_CODEX_NOISE = /* @__PURE__ */ new Set([
|
|
25199
25219
|
"session.updated",
|
|
@@ -25554,6 +25574,12 @@ function createFlattenState() {
|
|
|
25554
25574
|
malformedSearchBlockedWithoutPrompt: false
|
|
25555
25575
|
};
|
|
25556
25576
|
}
|
|
25577
|
+
function isMalformedSearchBlockedError(value) {
|
|
25578
|
+
return typeof value === "string" && value.includes(MALFORMED_SEARCH_BLOCKED_TRANSCRIPT_PREFIX);
|
|
25579
|
+
}
|
|
25580
|
+
function containsMalformedSearchBashEof(value) {
|
|
25581
|
+
return BASH_UNMATCHED_QUOTE_EOF_RE.test(value);
|
|
25582
|
+
}
|
|
25557
25583
|
function suppressMalformedSearchSegments(state) {
|
|
25558
25584
|
if (state.malformedSearchBlockedPromptIds.size === 0 && !state.malformedSearchBlockedWithoutPrompt) {
|
|
25559
25585
|
return state.merged;
|
|
@@ -25694,7 +25720,7 @@ function projectSessionError(data, index) {
|
|
|
25694
25720
|
};
|
|
25695
25721
|
}
|
|
25696
25722
|
function recordMalformedSearchBlock(data, state) {
|
|
25697
|
-
if (!isMalformedSearchBlockedError(data?.error)) return;
|
|
25723
|
+
if (data?.code !== "malformed_search_command" && !isMalformedSearchBlockedError(data?.error)) return;
|
|
25698
25724
|
const promptId = resolvePromptId(data);
|
|
25699
25725
|
if (promptId) {
|
|
25700
25726
|
state.malformedSearchBlockedPromptIds.add(promptId);
|
|
@@ -26237,6 +26263,8 @@ var ERROR_CODES = [
|
|
|
26237
26263
|
"codex_transport_closed",
|
|
26238
26264
|
"codex_unrecoverable",
|
|
26239
26265
|
"question_delivery_failed",
|
|
26266
|
+
// No producer since malformed search commands are ordinary bash failures. Retained because the code is
|
|
26267
|
+
// persisted on historical session rows, which would otherwise render as "unknown".
|
|
26240
26268
|
"malformed_search_command",
|
|
26241
26269
|
"unknown"
|
|
26242
26270
|
];
|
|
@@ -27175,8 +27203,7 @@ function promptIdsForEvents(events) {
|
|
|
27175
27203
|
}
|
|
27176
27204
|
|
|
27177
27205
|
// src/index.ts
|
|
27178
|
-
var
|
|
27179
|
-
var { version: version3 } = require3("../package.json");
|
|
27206
|
+
var { version: version3 } = package_default;
|
|
27180
27207
|
var program = new Command().name("arcanist").description("Arcanist CLI").version(version3).option("--json", "Output machine-readable JSON").option("--quiet", "Suppress non-essential stderr output").option("--api-url <url>", "Override API URL. Prefer ARCANIST_API_URL for persistent use").option(
|
|
27181
27208
|
"--token <token>",
|
|
27182
27209
|
"Override API token. Prefer ARCANIST_TOKEN because flags can be visible in shell history and process lists"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tryarcanist/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.314",
|
|
4
4
|
"description": "CLI for Arcanist - create and manage coding agent sessions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"scripts": {
|
|
16
16
|
"build": "tsup",
|
|
17
17
|
"typecheck": "tsc --noEmit",
|
|
18
|
-
"prepublishOnly": "npm run build"
|
|
18
|
+
"prepublishOnly": "npm run build",
|
|
19
|
+
"bundle:sandbox": "tsup --config tsup.sandbox.config.ts"
|
|
19
20
|
},
|
|
20
21
|
"publishConfig": {
|
|
21
22
|
"access": "public"
|