@qwen-code/arena-agent 0.0.6 → 0.0.7-preview.0

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.
Files changed (57) hide show
  1. package/.env.example +12 -19
  2. package/README.md +26 -133
  3. package/dist/agent.d.ts +3 -9
  4. package/dist/agent.js +108 -246
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli.js +12 -51
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.d.ts +1 -6
  9. package/dist/config.js +2 -28
  10. package/dist/config.js.map +1 -1
  11. package/dist/fetch-page.js +7 -18
  12. package/dist/fetch-page.js.map +1 -1
  13. package/dist/history.d.ts +3 -3
  14. package/dist/history.js +4 -4
  15. package/dist/history.js.map +1 -1
  16. package/dist/mock.js +9 -25
  17. package/dist/mock.js.map +1 -1
  18. package/dist/prompts.d.ts +4 -0
  19. package/dist/prompts.js +57 -0
  20. package/dist/prompts.js.map +1 -0
  21. package/dist/protocol.d.ts +2 -4
  22. package/dist/protocol.js +1 -17
  23. package/dist/protocol.js.map +1 -1
  24. package/dist/provider.d.ts +0 -4
  25. package/dist/provider.js +11 -169
  26. package/dist/provider.js.map +1 -1
  27. package/dist/repo.d.ts +4 -0
  28. package/dist/repo.js +84 -0
  29. package/dist/repo.js.map +1 -0
  30. package/dist/server.js +184 -26
  31. package/dist/server.js.map +1 -1
  32. package/dist/spec.d.ts +11 -6
  33. package/dist/spec.js +74 -123
  34. package/dist/spec.js.map +1 -1
  35. package/dist/tools.d.ts +2 -5
  36. package/dist/tools.js +237 -134
  37. package/dist/tools.js.map +1 -1
  38. package/dist/tui.js +18 -53
  39. package/dist/tui.js.map +1 -1
  40. package/dist/types.d.ts +24 -25
  41. package/dist/web/app.js +3 -2
  42. package/dist/web/app.js.map +1 -1
  43. package/docs/SDK.md +521 -0
  44. package/package.json +5 -4
  45. package/spec/tools.json +418 -0
  46. package/dist/anthropic.d.ts +0 -16
  47. package/dist/anthropic.js +0 -391
  48. package/dist/anthropic.js.map +0 -1
  49. package/dist/attachments.d.ts +0 -29
  50. package/dist/attachments.js +0 -222
  51. package/dist/attachments.js.map +0 -1
  52. package/dist/canonical-data.d.ts +0 -2
  53. package/dist/canonical-data.js +0 -4
  54. package/dist/canonical-data.js.map +0 -1
  55. package/dist/compaction.d.ts +0 -16
  56. package/dist/compaction.js +0 -182
  57. package/dist/compaction.js.map +0 -1
package/dist/provider.js CHANGED
@@ -1,4 +1,3 @@
1
- import { anthropicChunks, anthropicFallbackChunk, anthropicRequestBody, } from "./anthropic.js";
2
1
  function withoutTrailingSlash(value) {
3
2
  return value.replace(/\/+$/, "");
4
3
  }
@@ -37,36 +36,6 @@ function abortableSleep(milliseconds, signal) {
37
36
  signal?.addEventListener("abort", abort, { once: true });
38
37
  });
39
38
  }
40
- // Histories store multimodal user content in Arena's native part format
41
- // ({image}/{text}); chat-completions endpoints expect OpenAI-style parts,
42
- // so the translation happens here at the wire boundary only.
43
- function wireContentPart(part) {
44
- if (typeof part.type === "string")
45
- return part;
46
- if (typeof part.image === "string") {
47
- return {
48
- type: "image_url",
49
- image_url: { url: part.image, detail: "auto" },
50
- };
51
- }
52
- return { type: "text", text: String(part.text ?? "") };
53
- }
54
- function wireMessages(messages) {
55
- return messages.map((message) => {
56
- if (message.role === "user" && Array.isArray(message.content)) {
57
- return {
58
- role: "user",
59
- content: message.content.map((part) => wireContentPart(part)),
60
- };
61
- }
62
- if (message.role === "assistant" &&
63
- (message.usage !== undefined || message.reasoning_details !== undefined)) {
64
- const { usage: _usage, reasoning_details: _details, ...wire } = message;
65
- return wire;
66
- }
67
- return message;
68
- });
69
- }
70
39
  function stripProviderPrefix(model) {
71
40
  const separator = model.indexOf("/");
72
41
  if (separator === -1)
@@ -117,18 +86,11 @@ export function resolveApiConnection(config, requestedModel = config.model) {
117
86
  if (!apiKey) {
118
87
  throw new Error(`No API key configured for ${provider}; set ARENA_API_KEY or the provider key`);
119
88
  }
89
+ headers.authorization = `Bearer ${apiKey}`;
120
90
  if (provider === "anthropic") {
121
- // Anthropic authenticates with x-api-key; Authorization is deliberately
122
- // omitted because some Anthropic-compatible gateways (e.g. DashScope's
123
- // /apps/anthropic) hang when both headers are present. Gateways that
124
- // expect a Bearer token instead (e.g. DashScope's claude-code-proxy) are
125
- // handled by a one-time 401 fallback in the native client.
126
91
  headers["x-api-key"] = apiKey;
127
92
  headers["anthropic-version"] = "2023-06-01";
128
93
  }
129
- else {
130
- headers.authorization = `Bearer ${apiKey}`;
131
- }
132
94
  return {
133
95
  baseUrl: withoutTrailingSlash(baseUrl),
134
96
  apiKey,
@@ -161,47 +123,6 @@ async function responseError(response) {
161
123
  }
162
124
  return new Error(`Model request failed (${response.status} ${response.statusText}): ${detail.slice(0, 2000)}`);
163
125
  }
164
- // Guards against streams that stay open but silently stop delivering bytes
165
- // (observed on DashScope's /apps/anthropic gateway, which can send a single
166
- // ping frame and then stall forever). The error carries a code the agent's
167
- // stream-retry logic treats as a transient network fault.
168
- export function withIdleTimeout(stream, timeoutMs) {
169
- if (!timeoutMs || timeoutMs <= 0)
170
- return stream;
171
- const reader = stream.getReader();
172
- return new ReadableStream({
173
- async pull(controller) {
174
- let timer;
175
- try {
176
- const result = await Promise.race([
177
- reader.read(),
178
- new Promise((_resolve, reject) => {
179
- timer = setTimeout(() => {
180
- const error = new Error(`model stream produced no data for ${timeoutMs}ms`);
181
- error.code =
182
- "ARENA_STREAM_IDLE_TIMEOUT";
183
- reject(error);
184
- }, timeoutMs);
185
- }),
186
- ]);
187
- if (result.done)
188
- controller.close();
189
- else
190
- controller.enqueue(result.value);
191
- }
192
- catch (error) {
193
- await reader.cancel().catch(() => undefined);
194
- controller.error(error);
195
- }
196
- finally {
197
- clearTimeout(timer);
198
- }
199
- },
200
- cancel(reason) {
201
- return reader.cancel(reason);
202
- },
203
- });
204
- }
205
126
  async function* parseSse(stream) {
206
127
  const reader = stream.getReader();
207
128
  const decoder = new TextDecoder();
@@ -238,7 +159,6 @@ async function* parseSse(stream) {
238
159
  function fallbackChunk(value) {
239
160
  const choices = (value.choices || []);
240
161
  return {
241
- usage: value.usage,
242
162
  choices: choices.map((choice) => {
243
163
  const message = (choice.message || {});
244
164
  return {
@@ -259,7 +179,6 @@ export class HttpModelClient {
259
179
  sleep;
260
180
  random;
261
181
  now;
262
- anthropicBearerAuth = false;
263
182
  constructor(config, options = {}) {
264
183
  this.config = config;
265
184
  this.fetch = options.fetch || globalThis.fetch.bind(globalThis);
@@ -278,45 +197,13 @@ export class HttpModelClient {
278
197
  const exponential = Math.min(maximum, base * 2 ** Math.min(retry, 30));
279
198
  return Math.floor(exponential * this.random());
280
199
  }
281
- // The same silent-stall guard as withIdleTimeout, but for the phase before
282
- // response headers arrive — a gateway can also accept the request and never
283
- // answer. The coded abort reason makes the agent's stream retry re-issue
284
- // the turn instead of waiting on undici's five-minute default.
285
- async fetchWithHeadersTimeout(url, init) {
286
- const timeoutMs = this.config.modelStreamIdleTimeoutMs;
287
- if (!timeoutMs || timeoutMs <= 0)
288
- return this.fetch(url, init);
289
- const outerSignal = init.signal ?? undefined;
290
- const controller = new AbortController();
291
- // The derived signal also governs the response body, so the outer abort
292
- // listener must stay attached for the lifetime of the response — only the
293
- // headers timer is cleared once headers arrive.
294
- if (outerSignal) {
295
- if (outerSignal.aborted)
296
- controller.abort(outerSignal.reason);
297
- else {
298
- outerSignal.addEventListener("abort", () => controller.abort(outerSignal.reason), { once: true });
299
- }
300
- }
301
- const timer = setTimeout(() => {
302
- const error = new Error(`model response headers not received within ${timeoutMs}ms`);
303
- error.code = "ARENA_STREAM_IDLE_TIMEOUT";
304
- controller.abort(error);
305
- }, timeoutMs);
306
- try {
307
- return await this.fetch(url, { ...init, signal: controller.signal });
308
- }
309
- finally {
310
- clearTimeout(timer);
311
- }
312
- }
313
200
  async completionResponse(url, init) {
314
201
  const maxRetries = Math.max(0, Math.floor(this.config.modelMaxRetries ?? 5));
315
202
  for (let retry = 0;; retry += 1) {
316
203
  init.signal?.throwIfAborted();
317
204
  let response;
318
205
  try {
319
- response = await this.fetchWithHeadersTimeout(url, init);
206
+ response = await this.fetch(url, init);
320
207
  }
321
208
  catch (error) {
322
209
  if (init.signal?.aborted)
@@ -338,39 +225,28 @@ export class HttpModelClient {
338
225
  }
339
226
  async *stream(request) {
340
227
  const connection = resolveApiConnection(this.config, request.model);
341
- // Direct anthropic/ connections speak the native Messages protocol; the
342
- // LiteLLM proxy path resolves to provider "litellm" and stays on the
343
- // OpenAI-compatible wire format below.
344
- if (connection.provider === "anthropic") {
345
- yield* this.streamAnthropic(connection, request);
346
- return;
347
- }
348
228
  const body = {
349
229
  model: connection.model,
350
- messages: wireMessages(request.messages),
230
+ messages: request.messages,
351
231
  tools: request.tools,
352
232
  tool_choice: request.toolChoice,
353
233
  temperature: request.temperature,
354
234
  max_tokens: request.maxTokens,
355
235
  stream: true,
356
- // Ask OpenAI-compatible services to report token usage on the final
357
- // stream chunk so each assistant turn can be recorded with its real
358
- // cost. Providers that reject the option can override it through
359
- // ARENA_EXTRA_BODY, which is merged after this body is built.
360
- stream_options: { include_usage: true },
361
236
  };
362
- if (request.enableThinking) {
363
- if (connection.liteLlmProxy) {
237
+ if (connection.liteLlmProxy) {
238
+ if (request.enableThinking) {
364
239
  body.thinking = {
365
240
  type: "enabled",
366
241
  budget_tokens: request.thinkingBudget,
367
242
  };
368
243
  body.drop_params = true;
369
244
  }
370
- else if (connection.baseUrl.includes("dashscope.aliyuncs.com")) {
371
- body.enable_thinking = true;
372
- body.thinking_budget = request.thinkingBudget;
373
- }
245
+ }
246
+ else if (connection.baseUrl.includes("dashscope.aliyuncs.com")) {
247
+ body.enable_thinking = request.enableThinking;
248
+ body.thinking_budget = request.thinkingBudget;
249
+ body.preserve_thinking = request.preserveThinking;
374
250
  }
375
251
  if (process.env.ARENA_EXTRA_BODY) {
376
252
  const extra = JSON.parse(process.env.ARENA_EXTRA_BODY);
@@ -389,46 +265,12 @@ export class HttpModelClient {
389
265
  throw await responseError(response);
390
266
  if (response.body &&
391
267
  (response.headers.get("content-type") || "").includes("text/event-stream")) {
392
- yield* parseSse(withIdleTimeout(response.body, this.config.modelStreamIdleTimeoutMs));
268
+ yield* parseSse(response.body);
393
269
  return;
394
270
  }
395
271
  const value = (await response.json());
396
272
  yield fallbackChunk(value);
397
273
  }
398
- async *streamAnthropic(connection, request) {
399
- const body = anthropicRequestBody(request, connection.model);
400
- if (process.env.ARENA_EXTRA_BODY) {
401
- const extra = JSON.parse(process.env.ARENA_EXTRA_BODY);
402
- Object.assign(body, extra);
403
- }
404
- const url = apiEndpoint(connection, "/messages");
405
- const bearerHeaders = {
406
- "anthropic-version": "2023-06-01",
407
- authorization: `Bearer ${connection.apiKey}`,
408
- };
409
- const send = (headers) => this.completionResponse(url, {
410
- method: "POST",
411
- headers: { "content-type": "application/json", ...headers },
412
- body: JSON.stringify(body),
413
- signal: request.signal,
414
- });
415
- let response = await send(this.anthropicBearerAuth ? bearerHeaders : connection.headers);
416
- if (response.status === 401 && !this.anthropicBearerAuth) {
417
- // Anthropic-compatible gateways that authenticate with a Bearer token
418
- // reject x-api-key with a 401; switch auth styles once and remember.
419
- await response.body?.cancel().catch(() => undefined);
420
- this.anthropicBearerAuth = true;
421
- response = await send(bearerHeaders);
422
- }
423
- if (!response.ok)
424
- throw await responseError(response);
425
- if (response.body &&
426
- (response.headers.get("content-type") || "").includes("text/event-stream")) {
427
- yield* anthropicChunks(withIdleTimeout(response.body, this.config.modelStreamIdleTimeoutMs));
428
- return;
429
- }
430
- yield anthropicFallbackChunk((await response.json()));
431
- }
432
274
  }
433
275
  export async function checkedFetch(connection, pathname, init) {
434
276
  const response = await fetch(apiEndpoint(connection, pathname), {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAmBA,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC;AAC7E,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAkB,EAClB,GAAiB;IAEjB,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CACrB,YAAoB,EACpB,MAAoB;IAEpB,IAAI,MAAM,EAAE,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,YAAY,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAEhD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE7C,SAAS,QAAQ,CAAC,KAAe;YAC/B,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,CAAC,CAAC;;gBAClC,OAAO,EAAE,CAAC;QACjB,CAAC;QAED,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,SAAS,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAmB,EACnB,cAAc,GAAG,MAAM,CAAC,KAAK;IAE7B,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,MAAM,MAAM,GACV,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,MAAM;YACN,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;SAC7D,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,QAAQ,GACZ,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1E,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC7B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC7B,OAAO,GAAG,8BAA8B,CAAC;YACzC,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC3C,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,yDAAyD,CAAC;YACpE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,2BAA2B,CAAC;YACrE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACxC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM;YACJ,OAAO,CAAC,GAAG,CAAC,cAAc;gBAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAC7B,OAAO,CAAC,GAAG,CAAC,cAAc;gBAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,yCAAyC,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;IAC3C,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAC9B,OAAO,CAAC,mBAAmB,CAAC,GAAG,YAAY,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC;QACtC,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ;QACR,YAAY,EAAE,KAAK;QACnB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAAyB,EAAE,QAAgB;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC;IACxE,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC,OAAO,CAAC;IACvE,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAG7B,CAAC;QACF,MAAM;YACJ,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;gBAC/B,CAAC,CAAC,MAAM,CAAC,KAAK;gBACd,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC1B,MAAM,CAAC,OAAO;gBACd,IAAI,CAAC;IACT,CAAC;IAAC,MAAM,CAAC;QACP,4CAA4C;IAC9C,CAAC;IACD,OAAO,IAAI,KAAK,CACd,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAC7F,CAAC;AACJ,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,QAAQ,CACtB,MAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1E,IAAI,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,KAAK;iBAClB,KAAK,CAAC,IAAI,CAAC;iBACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;iBACxC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;YAC1C,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI;YAAE,MAAM;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,MAAM;SACnB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;SACxC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA8B;IACnD,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAmC,CAAC;IACxE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YAClE,OAAO;gBACL,KAAK,EAAE;oBACL,OAAO,EAAE,OAAO,CAAC,OAA6B;oBAC9C,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB;wBAC3C,OAAO,CAAC,SAAS,CAAuB;oBAC1C,UAAU,EAAE,OAAO,CAAC,UAQX;iBACV;gBACD,aAAa,EAAE,MAAM,CAAC,aAAmC;aAC1D,CAAC;QACJ,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,eAAe;IAUP,MAAM;IATR,KAAK,CAA0B;IAC/B,KAAK,CAGH;IACF,MAAM,CAAe;IACrB,GAAG,CAAe;IAEnC,YACmB,MAAmB,EACpC,OAAO,GAA2B,EAAE;sBADnB,MAAM;QAGvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,cAAc,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACrC,CAAC;IAEO,UAAU,CAAC,QAA8B,EAAE,KAAa;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,QAAQ;YACzB,CAAC,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;YAC5C,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,OAAO,EACP,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,GAAW,EACX,IAAiB;QAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,CAC7C,CAAC;QAEF,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAE9B,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;oBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;gBAC5D,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,IAAI,KAAK,IAAI,UAAU;oBAAE,MAAM,KAAK,CAAC;gBACtE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBAC9E,SAAS;YACX,CAAC;YAED,IACE,QAAQ,CAAC,EAAE;gBACX,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjC,KAAK,IAAI,UAAU,EACnB,CAAC;gBACD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,OAAqB;QACjC,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,IAAI,GAA4B;YACpC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC;QAEF,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG;oBACd,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,OAAO,CAAC,cAAc;iBACtC,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAC9C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAC9C,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACpD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAGpD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC5C,WAAW,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAC5C;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,UAAU,CAAC,OAAO;aACtB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEtD,IACE,QAAQ,CAAC,IAAI;YACb,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAC1E,CAAC;YACD,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAyB,EACzB,QAAgB,EAChB,IAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;QAC9D,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,UAAU,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB;KACF,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/dist/repo.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import type { RepoContext } from "./types.js";
2
+ /** 从 origin 的 URL 还原 owner/repo,支持 SSH 与 HTTPS 两种写法。 */
3
+ export declare function repoSlugFromRemote(remoteUrl: string): string | undefined;
4
+ export declare function detectRepoContext(workspace: string): RepoContext | undefined;
package/dist/repo.js ADDED
@@ -0,0 +1,84 @@
1
+ import { execFileSync } from "node:child_process";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ /** Arena 对模型呈现的文件系统根;仅用于拼出 system message 里的检出路径。 */
5
+ const arenaHome = "/home/user";
6
+ function git(cwd, args) {
7
+ try {
8
+ const output = execFileSync("git", args, {
9
+ cwd,
10
+ encoding: "utf8",
11
+ timeout: 5_000,
12
+ stdio: ["ignore", "pipe", "ignore"],
13
+ });
14
+ const value = output.trim();
15
+ return value || undefined;
16
+ }
17
+ catch {
18
+ return undefined;
19
+ }
20
+ }
21
+ function isCheckout(directory) {
22
+ return fs.existsSync(path.join(directory, ".git"));
23
+ }
24
+ /** 从 origin 的 URL 还原 owner/repo,支持 SSH 与 HTTPS 两种写法。 */
25
+ export function repoSlugFromRemote(remoteUrl) {
26
+ const match = remoteUrl
27
+ .trim()
28
+ .replace(/\/+$/, "")
29
+ .match(/[:/]([^/:]+)\/([^/]+?)(?:\.git)?$/);
30
+ if (!match?.[1] || !match[2])
31
+ return undefined;
32
+ return `${match[1]}/${match[2]}`;
33
+ }
34
+ function defaultBranch(cwd) {
35
+ const head = git(cwd, ["symbolic-ref", "--short", "refs/remotes/origin/HEAD"]);
36
+ if (head)
37
+ return head.replace(/^origin\//, "");
38
+ for (const candidate of ["main", "master"]) {
39
+ if (git(cwd, ["rev-parse", "--verify", "--quiet", candidate]))
40
+ return candidate;
41
+ }
42
+ return undefined;
43
+ }
44
+ // Arena checks the repo out at /home/user/<repo>, i.e. a child of the
45
+ // workspace — so exactly one direct child being a checkout is the signal.
46
+ // A checkout at the workspace root is someone's own project under
47
+ // `--workspace .` and must not be flipped into repo mode.
48
+ export function detectRepoContext(workspace) {
49
+ if (isCheckout(workspace))
50
+ return undefined;
51
+ let entries;
52
+ try {
53
+ entries = fs.readdirSync(workspace, { withFileTypes: true });
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ const checkouts = entries.filter((entry) => entry.isDirectory() && isCheckout(path.join(workspace, entry.name)));
59
+ if (checkouts.length !== 1)
60
+ return undefined;
61
+ const name = checkouts[0].name;
62
+ const cwd = path.join(workspace, name);
63
+ const branch = git(cwd, ["branch", "--show-current"]);
64
+ const remote = git(cwd, ["remote", "get-url", "origin"]);
65
+ if (!branch || !remote)
66
+ return undefined;
67
+ const slug = repoSlugFromRemote(remote);
68
+ if (!slug)
69
+ return undefined;
70
+ const baseBranch = defaultBranch(cwd);
71
+ if (!baseBranch)
72
+ return undefined;
73
+ const baseCommit = git(cwd, ["merge-base", "HEAD", baseBranch]);
74
+ if (!baseCommit)
75
+ return undefined;
76
+ return {
77
+ slug,
78
+ checkoutPath: `${arenaHome}/${name}`,
79
+ branch,
80
+ baseBranch,
81
+ baseCommit,
82
+ };
83
+ }
84
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}