@qwen-code/arena-agent 0.0.9-dev.1 → 0.0.9-dev.12
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/.env.example +29 -0
- package/README.md +149 -12
- package/dist/agent.d.ts +4 -2
- package/dist/agent.js +118 -15
- package/dist/agent.js.map +1 -1
- package/dist/ask-user.d.ts +20 -0
- package/dist/ask-user.js +388 -0
- package/dist/ask-user.js.map +1 -0
- package/dist/canonical-data.d.ts +1 -0
- package/dist/canonical-data.js +1 -0
- package/dist/canonical-data.js.map +1 -1
- package/dist/cli.js +29 -10
- package/dist/cli.js.map +1 -1
- package/dist/code-cli.d.ts +2 -0
- package/dist/code-cli.js +12 -0
- package/dist/code-cli.js.map +1 -0
- package/dist/code-tools.d.ts +73 -0
- package/dist/code-tools.js +2106 -0
- package/dist/code-tools.js.map +1 -0
- package/dist/config.d.ts +16 -1
- package/dist/config.js +66 -3
- package/dist/config.js.map +1 -1
- package/dist/document-reader.js +9 -0
- package/dist/document-reader.js.map +1 -1
- package/dist/fetch-page.d.ts +2 -0
- package/dist/fetch-page.js +50 -21
- package/dist/fetch-page.js.map +1 -1
- package/dist/history.d.ts +3 -0
- package/dist/history.js +4 -0
- package/dist/history.js.map +1 -1
- package/dist/mock.d.ts +1 -0
- package/dist/mock.js +38 -0
- package/dist/mock.js.map +1 -1
- package/dist/mode.d.ts +6 -0
- package/dist/mode.js +33 -0
- package/dist/mode.js.map +1 -0
- package/dist/model-capabilities.d.ts +20 -0
- package/dist/model-capabilities.js +98 -0
- package/dist/model-capabilities.js.map +1 -0
- package/dist/model-diagnostics.d.ts +32 -0
- package/dist/model-diagnostics.js +365 -0
- package/dist/model-diagnostics.js.map +1 -0
- package/dist/provider.d.ts +16 -0
- package/dist/provider.js +334 -37
- package/dist/provider.js.map +1 -1
- package/dist/sdk.d.ts +35 -3
- package/dist/sdk.js +6 -2
- package/dist/sdk.js.map +1 -1
- package/dist/server.d.ts +2 -0
- package/dist/server.js +82 -4
- package/dist/server.js.map +1 -1
- package/dist/spec.d.ts +11 -8
- package/dist/spec.js +105 -13
- package/dist/spec.js.map +1 -1
- package/dist/tools.d.ts +11 -28
- package/dist/tools.js +60 -11
- package/dist/tools.js.map +1 -1
- package/dist/tui.d.ts +2 -0
- package/dist/tui.js +8 -2
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +8 -1
- package/dist/web/app.d.ts +1 -0
- package/dist/web/app.js +59 -6
- package/dist/web/app.js.map +1 -1
- package/dist/workspace.d.ts +12 -0
- package/dist/workspace.js +165 -0
- package/dist/workspace.js.map +1 -0
- package/docs/BINARY_DISTRIBUTION.md +227 -0
- package/docs/MODES_AND_RELEASES.md +123 -0
- package/docs/SDK.md +24 -1
- package/modes/code-arena/full-stack/system-prompt.txt +77 -0
- package/modes/code-arena/full-stack/template/.env +1 -0
- package/modes/code-arena/full-stack/template/drizzle.config.json +7 -0
- package/modes/code-arena/full-stack/template/eslint.config.mjs +9 -0
- package/modes/code-arena/full-stack/template/next.config.ts +5 -0
- package/modes/code-arena/full-stack/template/package.json +32 -0
- package/modes/code-arena/full-stack/template/postcss.config.mjs +7 -0
- package/modes/code-arena/full-stack/template/src/app/api/health/route.ts +13 -0
- package/modes/code-arena/full-stack/template/src/app/globals.css +1 -0
- package/modes/code-arena/full-stack/template/src/app/layout.tsx +16 -0
- package/modes/code-arena/full-stack/template/src/app/page.tsx +22 -0
- package/modes/code-arena/full-stack/template/src/db/index.ts +24 -0
- package/modes/code-arena/full-stack/template/src/db/schema.ts +3 -0
- package/modes/code-arena/full-stack/template/tsconfig.json +24 -0
- package/modes/code-arena/full-stack/tools.json +446 -0
- package/modes/code-arena/html/system-prompt.txt +36 -0
- package/modes/code-arena/html/tools.json +284 -0
- package/modes/code-arena/model.json +10 -0
- package/modes/code-arena/react/system-prompt.txt +33 -0
- package/modes/code-arena/react/template/index.html +12 -0
- package/modes/code-arena/react/template/package.json +28 -0
- package/modes/code-arena/react/template/src/App.tsx +28 -0
- package/modes/code-arena/react/template/src/index.css +1 -0
- package/modes/code-arena/react/template/src/main.tsx +10 -0
- package/modes/code-arena/react/template/src/utils/cn.ts +6 -0
- package/modes/code-arena/react/template/tsconfig.json +25 -0
- package/modes/code-arena/react/template/vite.config.ts +18 -0
- package/modes/code-arena/react/tools.json +410 -0
- package/package.json +24 -4
- package/web/styles.css +22 -7
package/dist/ask-user.js
ADDED
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
const maxResponseBytes = 1024 * 1024;
|
|
2
|
+
const maxIdentifierLength = 1024;
|
|
3
|
+
const maxCustomResponseLength = 64 * 1024;
|
|
4
|
+
const maxErrorMessageLength = 16 * 1024;
|
|
5
|
+
export class AskUserHandlerError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor(code, message, options) {
|
|
8
|
+
super(message, options);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.name = "AskUserHandlerError";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function record(value) {
|
|
14
|
+
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
15
|
+
? value
|
|
16
|
+
: undefined;
|
|
17
|
+
}
|
|
18
|
+
function boundedNonEmptyString(value, label, maximum) {
|
|
19
|
+
if (typeof value !== "string" || !value || value.length > maximum) {
|
|
20
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `${label} must be a non-empty string of at most ${maximum} characters`);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
function numericUsage(value) {
|
|
25
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0
|
|
26
|
+
? Math.floor(value)
|
|
27
|
+
: 0;
|
|
28
|
+
}
|
|
29
|
+
function cachedTokens(usage) {
|
|
30
|
+
const native = numericUsage(usage.cache_read_input_tokens);
|
|
31
|
+
if (native)
|
|
32
|
+
return native;
|
|
33
|
+
const details = record(usage.prompt_tokens_details);
|
|
34
|
+
return numericUsage(details?.cached_tokens);
|
|
35
|
+
}
|
|
36
|
+
function parseToolArguments(raw) {
|
|
37
|
+
if (!raw)
|
|
38
|
+
return {};
|
|
39
|
+
try {
|
|
40
|
+
const parsed = JSON.parse(raw);
|
|
41
|
+
return record(parsed) || { _raw: raw };
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return { _raw: raw };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function userContentToText(message) {
|
|
48
|
+
if (message.role !== "user")
|
|
49
|
+
return "";
|
|
50
|
+
if (typeof message.content === "string")
|
|
51
|
+
return message.content;
|
|
52
|
+
const parts = [];
|
|
53
|
+
for (const part of message.content) {
|
|
54
|
+
if ("text" in part && part.text)
|
|
55
|
+
parts.push(part.text);
|
|
56
|
+
else if ("image" in part)
|
|
57
|
+
parts.push("[image]");
|
|
58
|
+
}
|
|
59
|
+
return parts.join("\n");
|
|
60
|
+
}
|
|
61
|
+
export function serializeAtifTrajectory(messages, options) {
|
|
62
|
+
const steps = [];
|
|
63
|
+
let totalPromptTokens = 0;
|
|
64
|
+
let totalCompletionTokens = 0;
|
|
65
|
+
let totalCachedTokens = 0;
|
|
66
|
+
for (const message of messages) {
|
|
67
|
+
if (message.role === "system") {
|
|
68
|
+
if (message.content) {
|
|
69
|
+
steps.push({
|
|
70
|
+
step_id: steps.length + 1,
|
|
71
|
+
source: "system",
|
|
72
|
+
message: message.content,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
if (message.role === "user") {
|
|
78
|
+
const text = userContentToText(message);
|
|
79
|
+
if (text) {
|
|
80
|
+
steps.push({
|
|
81
|
+
step_id: steps.length + 1,
|
|
82
|
+
source: "user",
|
|
83
|
+
message: text,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (message.role === "assistant") {
|
|
89
|
+
const promptTokens = numericUsage(message.usage?.prompt_tokens);
|
|
90
|
+
const completionTokens = numericUsage(message.usage?.completion_tokens);
|
|
91
|
+
const cacheTokens = message.usage ? cachedTokens(message.usage) : 0;
|
|
92
|
+
totalPromptTokens += promptTokens;
|
|
93
|
+
totalCompletionTokens += completionTokens;
|
|
94
|
+
totalCachedTokens += cacheTokens;
|
|
95
|
+
const toolCalls = (message.tool_calls || []).map((call) => ({
|
|
96
|
+
tool_call_id: call.id || "",
|
|
97
|
+
function_name: call.function?.name || "",
|
|
98
|
+
arguments: parseToolArguments(call.function?.arguments || ""),
|
|
99
|
+
}));
|
|
100
|
+
steps.push({
|
|
101
|
+
step_id: steps.length + 1,
|
|
102
|
+
source: "agent",
|
|
103
|
+
message: message.content || "",
|
|
104
|
+
model_name: options.model,
|
|
105
|
+
...(message.reasoning_content
|
|
106
|
+
? { reasoning_content: message.reasoning_content }
|
|
107
|
+
: {}),
|
|
108
|
+
...(toolCalls.length ? { tool_calls: toolCalls } : {}),
|
|
109
|
+
...(promptTokens || completionTokens
|
|
110
|
+
? {
|
|
111
|
+
metrics: {
|
|
112
|
+
...(promptTokens ? { prompt_tokens: promptTokens } : {}),
|
|
113
|
+
...(completionTokens
|
|
114
|
+
? { completion_tokens: completionTokens }
|
|
115
|
+
: {}),
|
|
116
|
+
...(cacheTokens ? { cached_tokens: cacheTokens } : {}),
|
|
117
|
+
},
|
|
118
|
+
}
|
|
119
|
+
: {}),
|
|
120
|
+
});
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
for (let index = steps.length - 1; index >= 0; index -= 1) {
|
|
124
|
+
const step = steps[index];
|
|
125
|
+
if (step?.source !== "agent" ||
|
|
126
|
+
!step.tool_calls?.some((call) => call.tool_call_id === message.tool_call_id)) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const result = {
|
|
130
|
+
source_call_id: message.tool_call_id || "",
|
|
131
|
+
content: message.content || "",
|
|
132
|
+
};
|
|
133
|
+
if (step.observation)
|
|
134
|
+
step.observation.results.push(result);
|
|
135
|
+
else
|
|
136
|
+
step.observation = { results: [result] };
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (!steps.length) {
|
|
141
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_TRAJECTORY", "ask_user requires a non-empty trajectory");
|
|
142
|
+
}
|
|
143
|
+
return JSON.stringify({
|
|
144
|
+
schema_version: "ATIF-v1.6",
|
|
145
|
+
session_id: options.sessionId,
|
|
146
|
+
agent: {
|
|
147
|
+
name: "arena",
|
|
148
|
+
version: options.agentVersion || "unknown",
|
|
149
|
+
model_name: options.model,
|
|
150
|
+
},
|
|
151
|
+
steps,
|
|
152
|
+
final_metrics: {
|
|
153
|
+
...(totalPromptTokens
|
|
154
|
+
? { total_prompt_tokens: totalPromptTokens }
|
|
155
|
+
: {}),
|
|
156
|
+
...(totalCompletionTokens
|
|
157
|
+
? { total_completion_tokens: totalCompletionTokens }
|
|
158
|
+
: {}),
|
|
159
|
+
...(totalCachedTokens
|
|
160
|
+
? { total_cached_tokens: totalCachedTokens }
|
|
161
|
+
: {}),
|
|
162
|
+
total_steps: steps.length,
|
|
163
|
+
},
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function validateQuestions(questions) {
|
|
167
|
+
const questionIds = new Set();
|
|
168
|
+
for (const question of questions) {
|
|
169
|
+
if (!question.id || question.id.length > maxIdentifierLength) {
|
|
170
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_REQUEST", "each question requires a bounded non-empty id");
|
|
171
|
+
}
|
|
172
|
+
if (questionIds.has(question.id)) {
|
|
173
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_REQUEST", `duplicate question id: ${question.id}`);
|
|
174
|
+
}
|
|
175
|
+
questionIds.add(question.id);
|
|
176
|
+
const optionIds = new Set();
|
|
177
|
+
for (const option of question.options) {
|
|
178
|
+
if (!option.id || option.id.length > maxIdentifierLength) {
|
|
179
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_REQUEST", `question ${question.id} contains an invalid option id`);
|
|
180
|
+
}
|
|
181
|
+
if (optionIds.has(option.id)) {
|
|
182
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_REQUEST", `question ${question.id} contains duplicate option id ${option.id}`);
|
|
183
|
+
}
|
|
184
|
+
optionIds.add(option.id);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function serviceError(payload) {
|
|
189
|
+
if (!("error" in payload))
|
|
190
|
+
return undefined;
|
|
191
|
+
const error = record(payload.error);
|
|
192
|
+
if (!error) {
|
|
193
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "ask_user error must be an object");
|
|
194
|
+
}
|
|
195
|
+
const code = boundedNonEmptyString(error.code, "ask_user error.code", maxIdentifierLength);
|
|
196
|
+
const message = boundedNonEmptyString(error.message, "ask_user error.message", maxErrorMessageLength);
|
|
197
|
+
throw new AskUserHandlerError(code, message);
|
|
198
|
+
}
|
|
199
|
+
function validateAnswer(value, questions) {
|
|
200
|
+
const answer = record(value);
|
|
201
|
+
if (!answer) {
|
|
202
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "each ask_user answer must be an object");
|
|
203
|
+
}
|
|
204
|
+
const questionId = boundedNonEmptyString(answer.questionId, "answer.questionId", maxIdentifierLength);
|
|
205
|
+
const question = questions.get(questionId);
|
|
206
|
+
if (!question) {
|
|
207
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer references unknown question ${questionId}`);
|
|
208
|
+
}
|
|
209
|
+
const selectedOptionId = answer.selectedOptionId;
|
|
210
|
+
const customResponse = answer.customResponse;
|
|
211
|
+
if (selectedOptionId !== null && typeof selectedOptionId !== "string") {
|
|
212
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer.selectedOptionId for ${questionId} must be a string or null`);
|
|
213
|
+
}
|
|
214
|
+
if (customResponse !== null && typeof customResponse !== "string") {
|
|
215
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer.customResponse for ${questionId} must be a string or null`);
|
|
216
|
+
}
|
|
217
|
+
if ((selectedOptionId === null) === (customResponse === null)) {
|
|
218
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer for ${questionId} must select exactly one option or custom response`);
|
|
219
|
+
}
|
|
220
|
+
if (typeof selectedOptionId === "string") {
|
|
221
|
+
if (!selectedOptionId ||
|
|
222
|
+
selectedOptionId.length > maxIdentifierLength ||
|
|
223
|
+
!question.options.some((option) => option.id === selectedOptionId)) {
|
|
224
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer for ${questionId} selected an invalid option`);
|
|
225
|
+
}
|
|
226
|
+
return { questionId, selectedOptionId, customResponse: null };
|
|
227
|
+
}
|
|
228
|
+
if (!customResponse ||
|
|
229
|
+
!customResponse.trim() ||
|
|
230
|
+
customResponse.length > maxCustomResponseLength ||
|
|
231
|
+
question.allowCustomResponse === false) {
|
|
232
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `answer for ${questionId} contains an invalid custom response`);
|
|
233
|
+
}
|
|
234
|
+
return { questionId, selectedOptionId: null, customResponse };
|
|
235
|
+
}
|
|
236
|
+
function validateResponse(value, questions) {
|
|
237
|
+
const payload = record(value);
|
|
238
|
+
if (!payload) {
|
|
239
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "ask_user response must be a JSON object");
|
|
240
|
+
}
|
|
241
|
+
serviceError(payload);
|
|
242
|
+
if (typeof payload.skipped !== "boolean" || !Array.isArray(payload.answers)) {
|
|
243
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "ask_user response requires boolean skipped and array answers");
|
|
244
|
+
}
|
|
245
|
+
if (payload.skipped) {
|
|
246
|
+
if (payload.answers.length) {
|
|
247
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "a skipped ask_user response must not contain answers");
|
|
248
|
+
}
|
|
249
|
+
return { answers: [], skipped: true };
|
|
250
|
+
}
|
|
251
|
+
if (!payload.answers.length) {
|
|
252
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "a non-skipped ask_user response must contain answers");
|
|
253
|
+
}
|
|
254
|
+
const questionsById = new Map(questions.map((question) => [question.id, question]));
|
|
255
|
+
const answers = payload.answers.map((answer) => validateAnswer(answer, questionsById));
|
|
256
|
+
const answered = new Set();
|
|
257
|
+
for (const answer of answers) {
|
|
258
|
+
if (answered.has(answer.questionId)) {
|
|
259
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", `duplicate answer for ${answer.questionId}`);
|
|
260
|
+
}
|
|
261
|
+
answered.add(answer.questionId);
|
|
262
|
+
}
|
|
263
|
+
if (answers.length !== questions.length ||
|
|
264
|
+
questions.some((question) => !answered.has(question.id))) {
|
|
265
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "every ask_user question must be answered exactly once");
|
|
266
|
+
}
|
|
267
|
+
return { answers, skipped: false };
|
|
268
|
+
}
|
|
269
|
+
async function responseText(response) {
|
|
270
|
+
const declaredLength = Number(response.headers.get("content-length"));
|
|
271
|
+
if (Number.isFinite(declaredLength) && declaredLength > maxResponseBytes) {
|
|
272
|
+
throw new AskUserHandlerError("ASK_USER_RESPONSE_TOO_LARGE", `ask_user response exceeds ${maxResponseBytes} bytes`);
|
|
273
|
+
}
|
|
274
|
+
if (!response.body)
|
|
275
|
+
return "";
|
|
276
|
+
const reader = response.body.getReader();
|
|
277
|
+
const chunks = [];
|
|
278
|
+
let length = 0;
|
|
279
|
+
while (true) {
|
|
280
|
+
const { done, value } = await reader.read();
|
|
281
|
+
if (done)
|
|
282
|
+
break;
|
|
283
|
+
length += value.byteLength;
|
|
284
|
+
if (length > maxResponseBytes) {
|
|
285
|
+
await reader.cancel();
|
|
286
|
+
throw new AskUserHandlerError("ASK_USER_RESPONSE_TOO_LARGE", `ask_user response exceeds ${maxResponseBytes} bytes`);
|
|
287
|
+
}
|
|
288
|
+
chunks.push(value);
|
|
289
|
+
}
|
|
290
|
+
const bytes = new Uint8Array(length);
|
|
291
|
+
let offset = 0;
|
|
292
|
+
for (const chunk of chunks) {
|
|
293
|
+
bytes.set(chunk, offset);
|
|
294
|
+
offset += chunk.byteLength;
|
|
295
|
+
}
|
|
296
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
297
|
+
}
|
|
298
|
+
function parseResponseBody(body) {
|
|
299
|
+
try {
|
|
300
|
+
return JSON.parse(body);
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_RESPONSE", "ask_user handler returned invalid JSON", { cause: error });
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
export function createRemoteAskUserHandler(options) {
|
|
307
|
+
const requestFetch = options.fetch || globalThis.fetch;
|
|
308
|
+
const timeoutMs = options.timeoutMs ?? 60_000;
|
|
309
|
+
if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {
|
|
310
|
+
throw new Error("ask_user timeout must be a positive integer");
|
|
311
|
+
}
|
|
312
|
+
return async (toolCallId, questions, context) => {
|
|
313
|
+
if (!context) {
|
|
314
|
+
throw new AskUserHandlerError("ASK_USER_INVALID_REQUEST", "remote ask_user requires session trajectory context");
|
|
315
|
+
}
|
|
316
|
+
validateQuestions(questions);
|
|
317
|
+
const trajectory = serializeAtifTrajectory(context.messages, {
|
|
318
|
+
sessionId: context.sessionId,
|
|
319
|
+
model: options.model,
|
|
320
|
+
agentVersion: options.agentVersion,
|
|
321
|
+
});
|
|
322
|
+
const controller = new AbortController();
|
|
323
|
+
let timedOut = false;
|
|
324
|
+
const timeout = setTimeout(() => {
|
|
325
|
+
timedOut = true;
|
|
326
|
+
controller.abort(new Error("ask_user handler timed out"));
|
|
327
|
+
}, timeoutMs);
|
|
328
|
+
const abort = () => {
|
|
329
|
+
controller.abort(context.signal?.reason || new Error("operation cancelled"));
|
|
330
|
+
};
|
|
331
|
+
context.signal?.addEventListener("abort", abort, { once: true });
|
|
332
|
+
try {
|
|
333
|
+
if (context.signal?.aborted)
|
|
334
|
+
abort();
|
|
335
|
+
const response = await requestFetch(options.url, {
|
|
336
|
+
method: "POST",
|
|
337
|
+
headers: {
|
|
338
|
+
accept: "application/json",
|
|
339
|
+
"content-type": "application/json",
|
|
340
|
+
},
|
|
341
|
+
body: JSON.stringify({
|
|
342
|
+
sessionId: context.sessionId,
|
|
343
|
+
toolCallId,
|
|
344
|
+
questions,
|
|
345
|
+
trajectory,
|
|
346
|
+
}),
|
|
347
|
+
signal: controller.signal,
|
|
348
|
+
});
|
|
349
|
+
const body = await responseText(response);
|
|
350
|
+
const payload = parseResponseBody(body);
|
|
351
|
+
if (!response.ok) {
|
|
352
|
+
const errorPayload = record(payload);
|
|
353
|
+
if (errorPayload)
|
|
354
|
+
serviceError(errorPayload);
|
|
355
|
+
throw new AskUserHandlerError("ASK_USER_HTTP_ERROR", `ask_user handler returned HTTP ${response.status}`);
|
|
356
|
+
}
|
|
357
|
+
return validateResponse(payload, questions);
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
if (context.signal?.aborted)
|
|
361
|
+
throw context.signal.reason || error;
|
|
362
|
+
if (timedOut) {
|
|
363
|
+
throw new AskUserHandlerError("ASK_USER_TIMEOUT", `ask_user handler timed out after ${timeoutMs} ms`, { cause: error });
|
|
364
|
+
}
|
|
365
|
+
if (error instanceof AskUserHandlerError)
|
|
366
|
+
throw error;
|
|
367
|
+
throw new AskUserHandlerError("ASK_USER_REQUEST_FAILED", `ask_user handler request failed: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
|
|
368
|
+
}
|
|
369
|
+
finally {
|
|
370
|
+
clearTimeout(timeout);
|
|
371
|
+
context.signal?.removeEventListener("abort", abort);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
export function remoteAskUserHandlerFromConfig(config, agentVersion) {
|
|
376
|
+
if (config.askUserMode !== "remote")
|
|
377
|
+
return undefined;
|
|
378
|
+
if (!config.askUserHandlerUrl) {
|
|
379
|
+
throw new Error("ARENA_ASK_USER_HANDLER_URL is required when ARENA_ASK_USER_MODE=remote");
|
|
380
|
+
}
|
|
381
|
+
return createRemoteAskUserHandler({
|
|
382
|
+
url: config.askUserHandlerUrl,
|
|
383
|
+
timeoutMs: config.askUserTimeoutMs,
|
|
384
|
+
model: config.model,
|
|
385
|
+
agentVersion,
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
//# sourceMappingURL=ask-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../src/ask-user.ts"],"names":[],"mappings":"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"}
|
package/dist/canonical-data.d.ts
CHANGED