@qwen-code/arena-agent 0.0.10-dev.2 → 0.0.10-dev.4
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 +12 -1
- package/dist/cli.js +27 -3
- package/dist/cli.js.map +1 -1
- package/dist/code-tools.d.ts +0 -1
- package/dist/code-tools.js +121 -49
- package/dist/code-tools.js.map +1 -1
- package/dist/file-edit.d.ts +6 -0
- package/dist/file-edit.js +58 -0
- package/dist/file-edit.js.map +1 -0
- package/dist/tools.js +129 -76
- package/dist/tools.js.map +1 -1
- package/dist/workspace.d.ts +2 -0
- package/dist/workspace.js +5 -1
- package/dist/workspace.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +2 -0
- package/modes/code-arena/react/template/package.json +4 -4
- package/modes/code-arena/react/template/src/App.tsx +1 -1
- package/modes/code-arena/react/template/src/main.tsx +1 -1
- package/modes/code-arena/react/template/tsconfig.json +6 -0
- package/modes/code-arena/react/template/vite.config.ts +1 -0
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
这是一个基于 `message.json` 与 `tools.json` 所定义消息和工具契约的 TypeScript
|
|
4
4
|
CodeAgent harness。运行时只依赖 Node.js,不再依赖 Python:
|
|
5
5
|
|
|
6
|
-
- `arena -p
|
|
6
|
+
- `arena -p ...` / `arena --file prompt.txt`:headless 单轮入口,支持文本、完整 JSON 和 NDJSON 流。
|
|
7
7
|
- `arena tui`:终端多轮对话,实时输出并自动保存、恢复历史。
|
|
8
8
|
- `arena serve`:HTTP daemon、Web UI 与双通道 SSE 实时接口。
|
|
9
9
|
- Agent loop:流式 assistant → tool call → tool result → assistant。
|
|
@@ -86,6 +86,17 @@ code-harness -p '做一个产品页'
|
|
|
86
86
|
code-harness -p '做一个单文件网页' --mode html
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
+
当提示词较大时,可以把 UTF-8 文本写入文件,并让 CLI 在进程启动后读取:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
arena --file prompt.txt --mode arena
|
|
93
|
+
code-harness --file prompt.txt --mode react
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
`--file` 与 `-p`/`--prompt` 互斥。相对路径以启动命令时的当前目录为基准。与
|
|
97
|
+
`arena -p "$(<prompt.txt)"` 不同,命令行中只传递较短的文件路径,因此不会让
|
|
98
|
+
提示词本身触发 Linux 单个命令行参数的大小上限。
|
|
99
|
+
|
|
89
100
|
也可以设置 `ARENA_HARNESS_MODE=arena|react|html|full-stack`。迁移期继续接受
|
|
90
101
|
`CODE_HARNESS_MODE`、`ARENA_MODE` 及旧模式别名。详细目录和发包决策见
|
|
91
102
|
[`docs/MODES_AND_RELEASES.md`](docs/MODES_AND_RELEASES.md)。
|
package/dist/cli.js
CHANGED
|
@@ -35,10 +35,16 @@ function parsePromptOptions(argumentsList) {
|
|
|
35
35
|
workspace: process.cwd(),
|
|
36
36
|
attachments: [],
|
|
37
37
|
};
|
|
38
|
+
let inlinePrompt;
|
|
39
|
+
let promptFile;
|
|
38
40
|
for (let index = 0; index < argumentsList.length; index += 1) {
|
|
39
41
|
const argument = argumentsList[index];
|
|
40
42
|
if (argument === "-p" || argument === "--prompt") {
|
|
41
|
-
|
|
43
|
+
inlinePrompt = nextValue(argumentsList, index, argument, true);
|
|
44
|
+
index += 1;
|
|
45
|
+
}
|
|
46
|
+
else if (argument === "--file") {
|
|
47
|
+
promptFile = nextValue(argumentsList, index, argument);
|
|
42
48
|
index += 1;
|
|
43
49
|
}
|
|
44
50
|
else if (argument === "--attach" || argument === "--image") {
|
|
@@ -89,10 +95,13 @@ function parsePromptOptions(argumentsList) {
|
|
|
89
95
|
process.exit(0);
|
|
90
96
|
}
|
|
91
97
|
else if (argument === "-h" || argument === "--help") {
|
|
92
|
-
console.log(`Usage: ${cliName} -p <prompt> [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--attach path|url ...] [--output text|json|stream-json] [--workspace path] [--session-id id|--history-file path]\n` +
|
|
98
|
+
console.log(`Usage: ${cliName} (-p <prompt> | --file <path>) [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--attach path|url ...] [--output text|json|stream-json] [--workspace path] [--session-id id|--history-file path]\n` +
|
|
93
99
|
` ${cliName} tui [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--workspace path] [--model name] [--session-id id|--history-file path]\n` +
|
|
94
100
|
` ${cliName} serve [--mode arena|react|html|full-stack] [--system-prompt text] [--append-system-prompt text] [--exclude-qwen-from-system-prompt] [--host 127.0.0.1] [--port 3000] [--workspace path]\n` +
|
|
95
101
|
"\n" +
|
|
102
|
+
" --file reads the UTF-8 prompt after startup, avoiding command-line\n" +
|
|
103
|
+
" argument size limits. It cannot be combined with -p/--prompt.\n" +
|
|
104
|
+
"\n" +
|
|
96
105
|
" --attach (alias --image) saves a local file or downloaded URL into the\n" +
|
|
97
106
|
" workspace uploads/ directory and attaches it to the prompt; images are\n" +
|
|
98
107
|
" also sent to the model as image content. Repeat the flag for multiple files.");
|
|
@@ -102,8 +111,23 @@ function parsePromptOptions(argumentsList) {
|
|
|
102
111
|
throw new Error(`unknown argument: ${argument}`);
|
|
103
112
|
}
|
|
104
113
|
}
|
|
114
|
+
if (inlinePrompt !== undefined && promptFile !== undefined) {
|
|
115
|
+
throw new Error("-p/--prompt and --file cannot be used together");
|
|
116
|
+
}
|
|
117
|
+
if (promptFile !== undefined) {
|
|
118
|
+
try {
|
|
119
|
+
options.prompt = readFileSync(promptFile, "utf8");
|
|
120
|
+
}
|
|
121
|
+
catch (error) {
|
|
122
|
+
const detail = error instanceof Error ? error.message : String(error);
|
|
123
|
+
throw new Error(`failed to read prompt file ${JSON.stringify(promptFile)}: ${detail}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
options.prompt = inlinePrompt || "";
|
|
128
|
+
}
|
|
105
129
|
if (!options.prompt) {
|
|
106
|
-
throw new Error(`-p/--prompt is required (or use \`${cliName} tui\`/\`${cliName} serve\`)`);
|
|
130
|
+
throw new Error(`-p/--prompt or --file is required (or use \`${cliName} tui\`/\`${cliName} serve\`)`);
|
|
107
131
|
}
|
|
108
132
|
if (options.sessionId && options.historyFile) {
|
|
109
133
|
throw new Error("--session-id and --history-file cannot be used together");
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/code-tools.d.ts
CHANGED
package/dist/code-tools.js
CHANGED
|
@@ -12,6 +12,7 @@ import iconv from "iconv-lite";
|
|
|
12
12
|
import mime from "mime/lite";
|
|
13
13
|
import { executeBraveWebSearch } from "./brave-search.js";
|
|
14
14
|
import { FetchPageReader } from "./fetch-page.js";
|
|
15
|
+
import { replaceUniqueText } from "./file-edit.js";
|
|
15
16
|
import { generatedImageBytesForExtension } from "./image.js";
|
|
16
17
|
import { generateImageWithModelRouter, } from "./model-router-media.js";
|
|
17
18
|
import { executeRoutifyWebFetch, routifyWebFetchEnabled, } from "./routify-web-fetch.js";
|
|
@@ -706,6 +707,9 @@ export class CodeToolExecutor {
|
|
|
706
707
|
argumentsValue.offset ??= 1;
|
|
707
708
|
argumentsValue.limit ??= 2000;
|
|
708
709
|
}
|
|
710
|
+
else if (name === "list_files") {
|
|
711
|
+
argumentsValue.path ??= "";
|
|
712
|
+
}
|
|
709
713
|
else if (name === "grep_files") {
|
|
710
714
|
argumentsValue.path ??= "";
|
|
711
715
|
argumentsValue.glob ??= "";
|
|
@@ -806,8 +810,9 @@ export class CodeToolExecutor {
|
|
|
806
810
|
}
|
|
807
811
|
}
|
|
808
812
|
lexicalPath(raw) {
|
|
809
|
-
if (!raw)
|
|
810
|
-
throw new Error("
|
|
813
|
+
if (!raw || path.isAbsolute(raw) || raw.includes("..")) {
|
|
814
|
+
throw new Error("Path cannot be empty, start with '/', or contain '..'");
|
|
815
|
+
}
|
|
811
816
|
let candidate;
|
|
812
817
|
if (!this.workspaceContext && (raw === "/home/user" || raw === "~")) {
|
|
813
818
|
candidate = this.workspace;
|
|
@@ -852,8 +857,7 @@ export class CodeToolExecutor {
|
|
|
852
857
|
return path.relative(this.workspaceReal, target).split(path.sep).join("/");
|
|
853
858
|
}
|
|
854
859
|
rememberListedFile(filePath) {
|
|
855
|
-
if (this.seedFileRank.has(filePath) ||
|
|
856
|
-
this.listedFileOrder.has(filePath)) {
|
|
860
|
+
if (this.seedFileRank.has(filePath) || this.listedFileOrder.has(filePath)) {
|
|
857
861
|
return;
|
|
858
862
|
}
|
|
859
863
|
this.listedFileOrder.set(filePath, this.nextListedFileOrder);
|
|
@@ -888,7 +892,7 @@ export class CodeToolExecutor {
|
|
|
888
892
|
return -1;
|
|
889
893
|
if (rightSeedRank !== undefined)
|
|
890
894
|
return 1;
|
|
891
|
-
return
|
|
895
|
+
return this.listedFileOrder.get(left) - this.listedFileOrder.get(right);
|
|
892
896
|
});
|
|
893
897
|
}
|
|
894
898
|
async existsWithExactCase(rawPath) {
|
|
@@ -966,14 +970,23 @@ export class CodeToolExecutor {
|
|
|
966
970
|
}
|
|
967
971
|
const lines = decodeText(data).split("\n");
|
|
968
972
|
const start = Math.max(1, Math.trunc(offset));
|
|
973
|
+
if (start > lines.length) {
|
|
974
|
+
return {
|
|
975
|
+
status: "success",
|
|
976
|
+
file: {
|
|
977
|
+
path: this.relativePath(target),
|
|
978
|
+
content: `Offset ${start} is out of range for this file (${lines.length} lines)`,
|
|
979
|
+
contentType: contentTypeForFile(target),
|
|
980
|
+
},
|
|
981
|
+
totalLines: lines.length,
|
|
982
|
+
};
|
|
983
|
+
}
|
|
969
984
|
const end = Math.min(lines.length, start + Math.max(1, Math.trunc(limit)) - 1);
|
|
970
|
-
const numbered =
|
|
971
|
-
|
|
972
|
-
:
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
.join("\n");
|
|
976
|
-
const footer = start === 1 && end === lines.length
|
|
985
|
+
const numbered = lines
|
|
986
|
+
.slice(start - 1, end)
|
|
987
|
+
.map((line, index) => `${start + index}: ${line}`)
|
|
988
|
+
.join("\n");
|
|
989
|
+
const footer = end === lines.length
|
|
977
990
|
? `(End of file - ${lines.length} lines)`
|
|
978
991
|
: `(Showing lines ${start}-${end} of ${lines.length}. Use offset=${end + 1} to continue.)`;
|
|
979
992
|
return {
|
|
@@ -1063,13 +1076,16 @@ export class CodeToolExecutor {
|
|
|
1063
1076
|
message: `File "${rawPath}" does not exist`,
|
|
1064
1077
|
};
|
|
1065
1078
|
}
|
|
1066
|
-
|
|
1079
|
+
const edited = replaceUniqueText(source, context, replacement, {
|
|
1080
|
+
whitespaceInsensitiveMultiline: true,
|
|
1081
|
+
});
|
|
1082
|
+
if (edited === undefined) {
|
|
1067
1083
|
return {
|
|
1068
1084
|
status: "error",
|
|
1069
1085
|
message: "Context not found. Read the file to verify the text exists.",
|
|
1070
1086
|
};
|
|
1071
1087
|
}
|
|
1072
|
-
await writeFile(target,
|
|
1088
|
+
await writeFile(target, edited, "utf8");
|
|
1073
1089
|
return this.mutationResult("Edited", rawPath);
|
|
1074
1090
|
}
|
|
1075
1091
|
async deleteCodeFile(rawPath) {
|
|
@@ -1091,21 +1107,61 @@ export class CodeToolExecutor {
|
|
|
1091
1107
|
};
|
|
1092
1108
|
}
|
|
1093
1109
|
async grepCodeFiles(values) {
|
|
1110
|
+
const pattern = String(values.pattern);
|
|
1111
|
+
if (pattern.length > 200) {
|
|
1112
|
+
return {
|
|
1113
|
+
status: "error",
|
|
1114
|
+
message: "Pattern too long (max 200 characters)",
|
|
1115
|
+
};
|
|
1116
|
+
}
|
|
1094
1117
|
const target = await this.confinedPath(String(values.path || "."));
|
|
1095
|
-
const targetInfo = await stat(target);
|
|
1096
|
-
const files = await this.walkFiles(target);
|
|
1097
1118
|
const glob = String(values.glob || "");
|
|
1119
|
+
const mode = String(values.output_mode || "content");
|
|
1098
1120
|
const flags = Boolean(values["-i"]) ? "i" : "";
|
|
1099
1121
|
let expression;
|
|
1100
1122
|
try {
|
|
1101
|
-
expression = new RegExp(
|
|
1123
|
+
expression = new RegExp(pattern, flags);
|
|
1102
1124
|
}
|
|
1103
1125
|
catch (error) {
|
|
1104
1126
|
throw new Error(`Invalid regular expression: ${errorMessage(error)}`);
|
|
1105
1127
|
}
|
|
1106
|
-
|
|
1128
|
+
let targetInfo;
|
|
1129
|
+
try {
|
|
1130
|
+
targetInfo = await stat(target);
|
|
1131
|
+
}
|
|
1132
|
+
catch (error) {
|
|
1133
|
+
if (error.code !== "ENOENT")
|
|
1134
|
+
throw error;
|
|
1135
|
+
if (mode === "files_with_matches") {
|
|
1136
|
+
return { status: "success", mode, files: [], truncated: false };
|
|
1137
|
+
}
|
|
1138
|
+
if (mode === "count") {
|
|
1139
|
+
return {
|
|
1140
|
+
status: "success",
|
|
1141
|
+
mode,
|
|
1142
|
+
counts: [],
|
|
1143
|
+
totalMatches: 0,
|
|
1144
|
+
truncated: false,
|
|
1145
|
+
};
|
|
1146
|
+
}
|
|
1147
|
+
return {
|
|
1148
|
+
status: "success",
|
|
1149
|
+
mode: "content",
|
|
1150
|
+
matches: [],
|
|
1151
|
+
truncated: false,
|
|
1152
|
+
};
|
|
1153
|
+
}
|
|
1154
|
+
const files = await this.walkFiles(target);
|
|
1155
|
+
// Full Stack captures expose a different context-grouping adapter from
|
|
1156
|
+
// HTML/React: -C/context are ignored, the trailing group spans B+A lines,
|
|
1157
|
+
// and a later match reuses the prior trailing group as contextBefore.
|
|
1158
|
+
const groupedContext = this.config.mode === "full-stack";
|
|
1159
|
+
const symmetric = groupedContext
|
|
1160
|
+
? 0
|
|
1161
|
+
: Math.max(Number(values.context || 0), Number(values["-C"] || 0));
|
|
1107
1162
|
const before = symmetric || Number(values["-B"] || 0);
|
|
1108
1163
|
const after = symmetric || Number(values["-A"] || 0);
|
|
1164
|
+
const contextSpan = groupedContext ? before + after : after;
|
|
1109
1165
|
const matches = [];
|
|
1110
1166
|
const matchedFiles = [];
|
|
1111
1167
|
const counts = [];
|
|
@@ -1115,6 +1171,11 @@ export class CodeToolExecutor {
|
|
|
1115
1171
|
const relativeToSearch = targetInfo.isFile()
|
|
1116
1172
|
? path.basename(filePath)
|
|
1117
1173
|
: path.relative(target, filePath).split(path.sep).join("/");
|
|
1174
|
+
if (relativeToSearch
|
|
1175
|
+
.split("/")
|
|
1176
|
+
.some((component) => component.startsWith("."))) {
|
|
1177
|
+
continue;
|
|
1178
|
+
}
|
|
1118
1179
|
if (glob && !matchesGlob(relativeToSearch, glob))
|
|
1119
1180
|
continue;
|
|
1120
1181
|
let content;
|
|
@@ -1129,11 +1190,15 @@ export class CodeToolExecutor {
|
|
|
1129
1190
|
continue;
|
|
1130
1191
|
}
|
|
1131
1192
|
const lines = content.split("\n");
|
|
1132
|
-
|
|
1193
|
+
const matchingLines = [];
|
|
1133
1194
|
for (let index = 0; index < lines.length; index += 1) {
|
|
1134
|
-
if (
|
|
1135
|
-
|
|
1136
|
-
|
|
1195
|
+
if (expression.test(lines[index]))
|
|
1196
|
+
matchingLines.push(index);
|
|
1197
|
+
}
|
|
1198
|
+
const fileCount = matchingLines.length;
|
|
1199
|
+
let previousAfter = [];
|
|
1200
|
+
for (let position = 0; position < matchingLines.length; position += 1) {
|
|
1201
|
+
const index = matchingLines[position];
|
|
1137
1202
|
totalMatches += 1;
|
|
1138
1203
|
if (matches.length < maximumSearchResults) {
|
|
1139
1204
|
const match = {
|
|
@@ -1141,11 +1206,29 @@ export class CodeToolExecutor {
|
|
|
1141
1206
|
lineNumber: index + 1,
|
|
1142
1207
|
lineContent: lines[index],
|
|
1143
1208
|
};
|
|
1144
|
-
if (
|
|
1145
|
-
|
|
1209
|
+
if (groupedContext) {
|
|
1210
|
+
const contextBefore = position === 0
|
|
1211
|
+
? lines.slice(Math.max(0, index - before), index)
|
|
1212
|
+
: previousAfter;
|
|
1213
|
+
if (contextBefore.length > 0)
|
|
1214
|
+
match.contextBefore = contextBefore;
|
|
1215
|
+
const nextMatch = matchingLines[position + 1] ?? lines.length;
|
|
1216
|
+
previousAfter = lines.slice(index + 1, Math.min(index + 1 + contextSpan, nextMatch));
|
|
1217
|
+
if (nextMatch === lines.length &&
|
|
1218
|
+
previousAfter.at(-1) === "" &&
|
|
1219
|
+
index + 1 + contextSpan >= lines.length) {
|
|
1220
|
+
previousAfter = previousAfter.slice(0, -1);
|
|
1221
|
+
}
|
|
1222
|
+
if (previousAfter.length > 0)
|
|
1223
|
+
match.contextAfter = previousAfter;
|
|
1146
1224
|
}
|
|
1147
|
-
|
|
1148
|
-
|
|
1225
|
+
else {
|
|
1226
|
+
if (before > 0) {
|
|
1227
|
+
match.contextBefore = lines.slice(Math.max(0, index - before), index);
|
|
1228
|
+
}
|
|
1229
|
+
if (after > 0) {
|
|
1230
|
+
match.contextAfter = lines.slice(index + 1, index + 1 + after);
|
|
1231
|
+
}
|
|
1149
1232
|
}
|
|
1150
1233
|
matches.push(match);
|
|
1151
1234
|
}
|
|
@@ -1158,7 +1241,6 @@ export class CodeToolExecutor {
|
|
|
1158
1241
|
}
|
|
1159
1242
|
}
|
|
1160
1243
|
}
|
|
1161
|
-
const mode = String(values.output_mode || "content");
|
|
1162
1244
|
if (mode === "files_with_matches") {
|
|
1163
1245
|
return {
|
|
1164
1246
|
status: "success",
|
|
@@ -1185,7 +1267,15 @@ export class CodeToolExecutor {
|
|
|
1185
1267
|
}
|
|
1186
1268
|
async globCodeFiles(pattern, rawPath) {
|
|
1187
1269
|
const target = await this.confinedPath(rawPath || ".");
|
|
1188
|
-
|
|
1270
|
+
let files;
|
|
1271
|
+
try {
|
|
1272
|
+
files = await this.walkFiles(target);
|
|
1273
|
+
}
|
|
1274
|
+
catch (error) {
|
|
1275
|
+
if (error.code !== "ENOENT")
|
|
1276
|
+
throw error;
|
|
1277
|
+
return { status: "success", paths: [], truncated: false };
|
|
1278
|
+
}
|
|
1189
1279
|
const allPaths = files
|
|
1190
1280
|
.filter((filePath) => matchesGlob(path.relative(target, filePath).split(path.sep).join("/"), pattern))
|
|
1191
1281
|
.map((filePath) => this.relativePath(filePath));
|
|
@@ -1302,18 +1392,6 @@ export class CodeToolExecutor {
|
|
|
1302
1392
|
stderr: this.virtualizeCodeOutput(result.stderr),
|
|
1303
1393
|
};
|
|
1304
1394
|
}
|
|
1305
|
-
virtualizeBashOutput(value) {
|
|
1306
|
-
if (this.workspaceContext || this.config.mode === "full-stack")
|
|
1307
|
-
return value;
|
|
1308
|
-
let virtualized = value;
|
|
1309
|
-
const workspaceRoots = [...new Set([this.workspace, this.workspaceReal])]
|
|
1310
|
-
.filter((root) => root !== path.parse(root).root)
|
|
1311
|
-
.sort((left, right) => right.length - left.length);
|
|
1312
|
-
for (const root of workspaceRoots) {
|
|
1313
|
-
virtualized = virtualized.replaceAll(root, "/home/user");
|
|
1314
|
-
}
|
|
1315
|
-
return virtualized;
|
|
1316
|
-
}
|
|
1317
1395
|
async fullStackBash(command, workdir) {
|
|
1318
1396
|
const configuredTimeout = Number(process.env.CODE_HARNESS_BASH_TIMEOUT_SECONDS || 300);
|
|
1319
1397
|
const timeoutSeconds = Number.isFinite(configuredTimeout) && configuredTimeout > 0
|
|
@@ -1454,12 +1532,6 @@ export class CodeToolExecutor {
|
|
|
1454
1532
|
if (!(await stat(workdir)).isDirectory()) {
|
|
1455
1533
|
throw new Error(`cwd is not a directory: ${cwd}`);
|
|
1456
1534
|
}
|
|
1457
|
-
// Runtime-aware callers execute commands exactly as written and report
|
|
1458
|
-
// real local paths. The legacy /home/user translation is limited to the
|
|
1459
|
-
// older non-Full-Stack replay contract.
|
|
1460
|
-
const translatedCommand = this.workspaceContext || this.config.mode === "full-stack"
|
|
1461
|
-
? command
|
|
1462
|
-
: command.replaceAll("/home/user", '"$ARENA_WORKSPACE"');
|
|
1463
1535
|
return new Promise((resolve, reject) => {
|
|
1464
1536
|
const env = {
|
|
1465
1537
|
...process.env,
|
|
@@ -1477,7 +1549,7 @@ export class CodeToolExecutor {
|
|
|
1477
1549
|
// detached:管道成员(npm、tail…)与 bash 同进程组。只杀 bash 会留下
|
|
1478
1550
|
// 孤儿持有 stdout/stderr 管道,close 永不触发,整个 turn 挂死;
|
|
1479
1551
|
// 必须杀整组,并在宽限期后强制结算兜底。
|
|
1480
|
-
const child = spawn("/bin/bash", ["-c",
|
|
1552
|
+
const child = spawn("/bin/bash", ["-c", command], {
|
|
1481
1553
|
cwd: workdir,
|
|
1482
1554
|
env,
|
|
1483
1555
|
stdio: ["ignore", "pipe", "pipe"],
|
|
@@ -1531,8 +1603,8 @@ export class CodeToolExecutor {
|
|
|
1531
1603
|
stderr +=
|
|
1532
1604
|
(stderr ? "\n" : "") + `command exceeded ${timeoutSeconds}s`;
|
|
1533
1605
|
}
|
|
1534
|
-
const out = capBashOutput(
|
|
1535
|
-
const err = capBashOutput(
|
|
1606
|
+
const out = capBashOutput(stdout);
|
|
1607
|
+
const err = capBashOutput(stderr);
|
|
1536
1608
|
resolve({
|
|
1537
1609
|
status: "completed",
|
|
1538
1610
|
stderr: err.text,
|