@qwen-code/arena-agent 0.0.9-image-input-fallback.0 → 0.0.10-dev.1

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 (91) hide show
  1. package/.env.example +34 -13
  2. package/README.md +168 -60
  3. package/dist/agent.d.ts +6 -2
  4. package/dist/agent.js +155 -21
  5. package/dist/agent.js.map +1 -1
  6. package/dist/anthropic.d.ts +1 -0
  7. package/dist/anthropic.js +78 -19
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/canonical-data.js +2 -2
  10. package/dist/canonical-data.js.map +1 -1
  11. package/dist/cli.js +65 -19
  12. package/dist/cli.js.map +1 -1
  13. package/dist/code-tools.js +18 -161
  14. package/dist/code-tools.js.map +1 -1
  15. package/dist/compaction.js +32 -9
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/config.d.ts +22 -0
  18. package/dist/config.js +53 -1
  19. package/dist/config.js.map +1 -1
  20. package/dist/history.d.ts +24 -2
  21. package/dist/history.js +306 -15
  22. package/dist/history.js.map +1 -1
  23. package/dist/image.d.ts +2 -0
  24. package/dist/image.js +88 -7
  25. package/dist/image.js.map +1 -1
  26. package/dist/model-capabilities.js +12 -2
  27. package/dist/model-capabilities.js.map +1 -1
  28. package/dist/model-diagnostics.js +11 -3
  29. package/dist/model-diagnostics.js.map +1 -1
  30. package/dist/model-router-media.d.ts +26 -0
  31. package/dist/model-router-media.js +274 -0
  32. package/dist/model-router-media.js.map +1 -0
  33. package/dist/openai-responses.d.ts +28 -0
  34. package/dist/openai-responses.js +473 -0
  35. package/dist/openai-responses.js.map +1 -0
  36. package/dist/process-manager.d.ts +38 -0
  37. package/dist/process-manager.js +492 -0
  38. package/dist/process-manager.js.map +1 -0
  39. package/dist/prompts.js +3 -1
  40. package/dist/prompts.js.map +1 -1
  41. package/dist/provider.d.ts +7 -0
  42. package/dist/provider.js +259 -14
  43. package/dist/provider.js.map +1 -1
  44. package/dist/sdk.js +9 -1
  45. package/dist/sdk.js.map +1 -1
  46. package/dist/server.d.ts +2 -0
  47. package/dist/server.js +149 -59
  48. package/dist/server.js.map +1 -1
  49. package/dist/spec.js +15 -1
  50. package/dist/spec.js.map +1 -1
  51. package/dist/tools.js +568 -268
  52. package/dist/tools.js.map +1 -1
  53. package/dist/tui.d.ts +2 -0
  54. package/dist/tui.js +22 -13
  55. package/dist/tui.js.map +1 -1
  56. package/dist/types.d.ts +7 -0
  57. package/dist/voice-registry.d.ts +30 -0
  58. package/dist/voice-registry.js +82 -0
  59. package/dist/voice-registry.js.map +1 -0
  60. package/dist/web/app.js +25 -3
  61. package/dist/web/app.js.map +1 -1
  62. package/docs/SDK.md +9 -7
  63. package/package.json +8 -2
  64. package/web/styles.css +6 -0
  65. package/dist/audit.d.ts +0 -14
  66. package/dist/audit.js +0 -31
  67. package/dist/audit.js.map +0 -1
  68. package/dist/dashscope.d.ts +0 -5
  69. package/dist/dashscope.js +0 -55
  70. package/dist/dashscope.js.map +0 -1
  71. package/dist/fetch-page/aparat.d.ts +0 -30
  72. package/dist/fetch-page/aparat.js +0 -209
  73. package/dist/fetch-page/aparat.js.map +0 -1
  74. package/dist/fetch-page/json-path.d.ts +0 -12
  75. package/dist/fetch-page/json-path.js +0 -111
  76. package/dist/fetch-page/json-path.js.map +0 -1
  77. package/dist/fetch-page/sites.d.ts +0 -26
  78. package/dist/fetch-page/sites.js +0 -39
  79. package/dist/fetch-page/sites.js.map +0 -1
  80. package/dist/fetch-page/text.d.ts +0 -5
  81. package/dist/fetch-page/text.js +0 -38
  82. package/dist/fetch-page/text.js.map +0 -1
  83. package/dist/fetch-page/types.d.ts +0 -17
  84. package/dist/fetch-page/types.js +0 -3
  85. package/dist/fetch-page/types.js.map +0 -1
  86. package/dist/fetch-page/youtube.d.ts +0 -35
  87. package/dist/fetch-page/youtube.js +0 -282
  88. package/dist/fetch-page/youtube.js.map +0 -1
  89. package/dist/web-search.d.ts +0 -5
  90. package/dist/web-search.js +0 -465
  91. package/dist/web-search.js.map +0 -1
package/dist/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -5,6 +5,8 @@ interface ServeOptions {
5
5
  port?: number;
6
6
  workspace?: string;
7
7
  mode?: HarnessMode;
8
+ systemPrompt?: string;
9
+ appendSystemPrompt?: string;
8
10
  excludeQwenFromSystemPrompt?: boolean;
9
11
  registerSignalHandlers?: boolean;
10
12
  }
package/dist/server.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import crypto from "node:crypto";
2
2
  import fs from "node:fs";
3
- import { cp, mkdir, readFile, readdir, realpath, rename, rm, stat, writeFile, } from "node:fs/promises";
3
+ import { cp, copyFile, mkdir, readFile, readdir, realpath, rename, rm, stat, writeFile, } from "node:fs/promises";
4
4
  import http from "node:http";
5
5
  import path from "node:path";
6
6
  import { Agent } from "./agent.js";
7
7
  import { attachmentMimeType, attachmentUserMessage, maxAttachmentBytesPerMessage, maxAttachmentsPerMessage, maxUploadBytes, mimeTypes, saveAttachment, uploadsDirectory, } from "./attachments.js";
8
8
  import { configFromEnv } from "./config.js";
9
9
  import { isCodeArenaMode } from "./mode.js";
10
- import { historyMetadata, loadStoredHistory, loadStoredHistoryState, saveStoredHistory, sessionStorageRoot, } from "./history.js";
10
+ import { historyMetadata, IncrementalHistoryWriter, loadStoredHistory, loadStoredHistoryState, saveStoredHistory, sessionStorageRoot, } from "./history.js";
11
11
  import { ModelBashMetricJudge, SessionMetricsAnalyzer, } from "./metrics.js";
12
12
  import { ModelConversationMetricJudge } from "./conversation-metrics.js";
13
13
  import { MockModelClient } from "./mock.js";
@@ -171,14 +171,21 @@ function sessionUndoMetadataPath(session) {
171
171
  function sessionUndoWorkspacePath(session) {
172
172
  return path.join(sessionUndoRoot(session), "workspace");
173
173
  }
174
+ function sessionUndoHistoryPath(session) {
175
+ return path.join(sessionUndoRoot(session), "history.json");
176
+ }
174
177
  function sessionRetryPath(session) {
175
178
  return path.join(session.root, "model-retry.json");
176
179
  }
177
180
  function historyHash(messages) {
178
- return crypto
179
- .createHash("sha256")
180
- .update(JSON.stringify({ messages }))
181
- .digest("hex");
181
+ const hash = crypto.createHash("sha256");
182
+ hash.update('{"messages":[');
183
+ for (let index = 0; index < messages.length; index += 1) {
184
+ if (index)
185
+ hash.update(",");
186
+ hash.update(JSON.stringify(messages[index]));
187
+ }
188
+ return hash.update("]}").digest("hex");
182
189
  }
183
190
  async function loadModelRetry(session) {
184
191
  try {
@@ -284,7 +291,6 @@ async function loadUndoCheckpoint(session) {
284
291
  typeof checkpoint.messageId !== "string" ||
285
292
  typeof checkpoint.input !== "string" ||
286
293
  !Array.isArray(checkpoint.attachments) ||
287
- !Array.isArray(checkpoint.messages) ||
288
294
  typeof checkpoint.createdAt !== "number") {
289
295
  throw new Error("invalid persisted undo checkpoint");
290
296
  }
@@ -292,7 +298,36 @@ async function loadUndoCheckpoint(session) {
292
298
  if (!workspace.isDirectory()) {
293
299
  throw new Error("undo checkpoint workspace is not a directory");
294
300
  }
295
- return checkpoint;
301
+ let undoHistoryExists = true;
302
+ try {
303
+ await stat(sessionUndoHistoryPath(session));
304
+ }
305
+ catch (error) {
306
+ if (error.code !== "ENOENT")
307
+ throw error;
308
+ undoHistoryExists = false;
309
+ }
310
+ if (!undoHistoryExists) {
311
+ if (!Array.isArray(checkpoint.messages)) {
312
+ throw new Error("undo checkpoint history is missing");
313
+ }
314
+ // Migrate checkpoints written before undo history became disk-backed.
315
+ await saveStoredHistory(sessionUndoHistoryPath(session), checkpoint.messages, undefined, checkpoint.metrics ?? null);
316
+ await writeFile(sessionUndoMetadataPath(session), JSON.stringify({
317
+ version: 1,
318
+ messageId: checkpoint.messageId,
319
+ input: checkpoint.input,
320
+ attachments: checkpoint.attachments,
321
+ createdAt: checkpoint.createdAt,
322
+ }), "utf8");
323
+ }
324
+ return {
325
+ version: 1,
326
+ messageId: checkpoint.messageId,
327
+ input: checkpoint.input,
328
+ attachments: checkpoint.attachments,
329
+ createdAt: checkpoint.createdAt,
330
+ };
296
331
  }
297
332
  catch (error) {
298
333
  if (error.code === "ENOENT")
@@ -344,16 +379,11 @@ async function installDirectory(staging, target) {
344
379
  }
345
380
  }
346
381
  async function prepareUndoCheckpoint(session, messageId, input, attachments) {
347
- const storedHistory = await loadStoredHistoryState(sessionHistoryPath(session));
348
382
  const checkpoint = {
349
383
  version: 1,
350
384
  messageId,
351
385
  input,
352
386
  attachments: attachments.map(checkpointAttachment),
353
- messages: structuredClone((await readHistory(session)) || []),
354
- ...(storedHistory?.metrics
355
- ? { metrics: structuredClone(storedHistory.metrics) }
356
- : {}),
357
387
  createdAt: Date.now(),
358
388
  };
359
389
  const target = sessionUndoRoot(session);
@@ -366,6 +396,19 @@ async function prepareUndoCheckpoint(session, messageId, input, attachments) {
366
396
  filter: (source) => snapshotIncludes(session.workspace, source),
367
397
  verbatimSymlinks: true,
368
398
  });
399
+ const undoHistory = path.join(staging, "history.json");
400
+ try {
401
+ await copyFile(sessionHistoryPath(session), undoHistory, fs.constants.COPYFILE_FICLONE);
402
+ }
403
+ catch (error) {
404
+ if (error.code !== "ENOENT")
405
+ throw error;
406
+ await saveStoredHistory(undoHistory, [], undefined, null, []);
407
+ }
408
+ await copyFile(`${sessionHistoryPath(session)}.journal.jsonl`, `${undoHistory}.journal.jsonl`, fs.constants.COPYFILE_FICLONE).catch((error) => {
409
+ if (error.code !== "ENOENT")
410
+ throw error;
411
+ });
369
412
  await writeFile(path.join(staging, "checkpoint.json"), JSON.stringify(checkpoint), "utf8");
370
413
  await installDirectory(staging, target);
371
414
  session.undoCheckpoint = checkpoint;
@@ -421,6 +464,7 @@ async function createSession(context, clientContext) {
421
464
  const now = Date.now();
422
465
  const session = {
423
466
  id,
467
+ sessionAffinityId: crypto.randomUUID(),
424
468
  tenantId: context.config.tenantId,
425
469
  currentDate: clientContext.currentDate,
426
470
  timezone: clientContext.timezone,
@@ -431,9 +475,9 @@ async function createSession(context, clientContext) {
431
475
  root: paths.root,
432
476
  workspace: paths.workspace,
433
477
  artifacts: paths.artifacts,
434
- history: null,
435
478
  undoCheckpoint: null,
436
479
  events: [],
480
+ eventBytes: 0,
437
481
  nextEventId: 1,
438
482
  subscribers: new Set(),
439
483
  running: null,
@@ -480,6 +524,7 @@ async function getSession(context, sessionId) {
480
524
  : clientLocation(metadata.location);
481
525
  const loaded = {
482
526
  id: sessionId,
527
+ sessionAffinityId: crypto.randomUUID(),
483
528
  tenantId: metadata.tenantId,
484
529
  currentDate: typeof metadata.currentDate === "string" &&
485
530
  validClientDate(metadata.currentDate)
@@ -495,9 +540,9 @@ async function getSession(context, sessionId) {
495
540
  root: paths.root,
496
541
  workspace: paths.workspace,
497
542
  artifacts: paths.artifacts,
498
- history: null,
499
543
  undoCheckpoint: null,
500
544
  events: [],
545
+ eventBytes: 0,
501
546
  nextEventId: 1,
502
547
  subscribers: new Set(),
503
548
  running: null,
@@ -551,14 +596,35 @@ function authorize(request, response, session) {
551
596
  session.touchedAt = Date.now();
552
597
  return true;
553
598
  }
599
+ const maxStoredEvents = 1000;
600
+ const maxStoredEventBytes = 16 * 1024 * 1024;
554
601
  function emit(session, data) {
555
- const event = { id: String(session.nextEventId++), data };
602
+ const id = String(session.nextEventId++);
603
+ const frame = `id: ${id}\ndata: ${JSON.stringify(data)}\n\n`;
604
+ const event = {
605
+ id,
606
+ type: data.type,
607
+ frame,
608
+ bytes: Buffer.byteLength(frame),
609
+ };
556
610
  session.events.push(event);
557
- if (session.events.length > 1000)
558
- session.events.shift();
559
- const frame = `id: ${event.id}\ndata: ${JSON.stringify(data)}\n\n`;
560
- for (const response of session.subscribers)
561
- response.write(frame);
611
+ session.eventBytes += event.bytes;
612
+ while (session.events.length > 1 &&
613
+ (session.events.length > maxStoredEvents ||
614
+ session.eventBytes > maxStoredEventBytes)) {
615
+ const removed = session.events.shift();
616
+ if (removed)
617
+ session.eventBytes -= removed.bytes;
618
+ }
619
+ for (const response of [...session.subscribers]) {
620
+ if (response.write(frame))
621
+ continue;
622
+ // Do not let a slow or disconnected SSE client make Node buffer an
623
+ // unbounded copy of a large history stream. The client reconnects with its
624
+ // last event id and replays from the bounded ring.
625
+ session.subscribers.delete(response);
626
+ response.end();
627
+ }
562
628
  return event;
563
629
  }
564
630
  function openEventStream(request, response, session) {
@@ -572,11 +638,19 @@ function openEventStream(request, response, session) {
572
638
  response.flushHeaders();
573
639
  response.write(": connected\n\n");
574
640
  const lastEventId = Number(request.headers["last-event-id"] || 0);
641
+ let replayBackpressured = false;
575
642
  for (const event of session.events) {
576
643
  if (Number(event.id) > lastEventId) {
577
- response.write(`id: ${event.id}\ndata: ${JSON.stringify(event.data)}\n\n`);
644
+ if (!response.write(event.frame)) {
645
+ replayBackpressured = true;
646
+ break;
647
+ }
578
648
  }
579
649
  }
650
+ if (replayBackpressured) {
651
+ response.end();
652
+ return;
653
+ }
580
654
  session.subscribers.add(response);
581
655
  const heartbeat = setInterval(() => response.write(": heartbeat\n\n"), 15_000);
582
656
  const close = () => {
@@ -929,7 +1003,7 @@ function createUiStream(session, messageId) {
929
1003
  phase: "waiting-for-input",
930
1004
  label: "Waiting for your answer…",
931
1005
  toolCallId: part?.uiId || event.tool_call_id,
932
- toolName: "ask_user",
1006
+ toolName: part?.name || "ask_user",
933
1007
  },
934
1008
  });
935
1009
  return;
@@ -971,10 +1045,6 @@ function createUiStream(session, messageId) {
971
1045
  }
972
1046
  if (event.type === "result") {
973
1047
  closeOpenParts();
974
- emit(session, {
975
- type: "data-messages",
976
- data: { messages: event.messages || [] },
977
- });
978
1048
  emit(session, {
979
1049
  type: "finish",
980
1050
  finishReason: event.status === "success" ? "stop" : "error",
@@ -1005,16 +1075,10 @@ function createUiStream(session, messageId) {
1005
1075
  };
1006
1076
  }
1007
1077
  async function readHistory(session) {
1008
- if (session.history)
1009
- return structuredClone(session.history);
1010
- const messages = await loadStoredHistory(sessionHistoryPath(session));
1011
- if (messages)
1012
- session.history = structuredClone(messages);
1013
- return messages ? structuredClone(messages) : undefined;
1078
+ return loadStoredHistory(sessionHistoryPath(session));
1014
1079
  }
1015
- async function saveHistory(session, messages, config, metrics) {
1016
- await saveStoredHistory(sessionHistoryPath(session), messages, historyMetadata(config, session.id), metrics);
1017
- session.history = structuredClone([...messages]);
1080
+ async function saveHistory(session, messages, config, metrics, tools) {
1081
+ await saveStoredHistory(sessionHistoryPath(session), messages, historyMetadata(config, session.id), metrics, tools);
1018
1082
  }
1019
1083
  function sessionMetricsAnalyzer(config, signal) {
1020
1084
  const sideQueryModel = config.metricsSideQueryModel || config.model;
@@ -1098,11 +1162,18 @@ async function runAgent(context, session, prompt, messageId, controller, interru
1098
1162
  try {
1099
1163
  const storedHistory = await loadStoredHistoryState(sessionHistoryPath(session));
1100
1164
  const history = storedHistory?.messages;
1165
+ const historyWriter = await IncrementalHistoryWriter.create(sessionHistoryPath(session), storedHistory, historyMetadata(sessionConfig, session.id));
1166
+ let latestTools = storedHistory?.tools;
1101
1167
  const result = await new Agent(sessionConfig, sink, {
1102
1168
  askUserHandler,
1103
1169
  sessionId: session.id,
1170
+ sessionAffinityId: session.sessionAffinityId,
1104
1171
  signal: controller.signal,
1105
- onCheckpoint: (messages) => saveHistory(session, messages, sessionConfig),
1172
+ reuseHistoryMessages: true,
1173
+ onCheckpoint: (messages, tools) => {
1174
+ latestTools = [...tools];
1175
+ return historyWriter.checkpoint(messages, tools);
1176
+ },
1106
1177
  onModelFailure: (messages, error) => {
1107
1178
  failedModelCheckpoint = structuredClone([...messages]);
1108
1179
  failedModelError = error;
@@ -1123,7 +1194,7 @@ async function runAgent(context, session, prompt, messageId, controller, interru
1123
1194
  !controller.signal.aborted &&
1124
1195
  failedModelCheckpoint) {
1125
1196
  const checkpoint = structuredClone(failedModelCheckpoint);
1126
- await saveHistory(session, checkpoint, sessionConfig);
1197
+ await historyWriter.checkpoint(checkpoint, latestTools);
1127
1198
  await saveModelRetry(session, {
1128
1199
  version: 1,
1129
1200
  sessionId: session.id,
@@ -1139,17 +1210,22 @@ async function runAgent(context, session, prompt, messageId, controller, interru
1139
1210
  else {
1140
1211
  await clearModelRetry(session);
1141
1212
  }
1142
- const metrics = await sessionMetricsAnalyzer(sessionConfig, controller.signal).update({
1143
- messages: deliveredResult.messages,
1144
- previous: storedHistory?.metrics,
1145
- throughTurnId: messageId,
1146
- turnStatus: deliveredResult.status,
1147
- offeredToolNamesByCallId,
1148
- ...(!resumeFromHistory ? { currentUserText: prompt } : {}),
1149
- previousAssistantText: lastAssistantText(history),
1150
- currentTurnMessages,
1151
- });
1152
- await saveHistory(session, deliveredResult.messages, sessionConfig, metrics);
1213
+ // metricsSideQueryEnabled is the session-metrics master switch: when it is
1214
+ // off the daemon performs no metric analysis, persists no metrics snapshot,
1215
+ // and emits no data-session-metrics event.
1216
+ const metrics = sessionConfig.metricsSideQueryEnabled
1217
+ ? await sessionMetricsAnalyzer(sessionConfig, controller.signal).update({
1218
+ messages: deliveredResult.messages,
1219
+ previous: storedHistory?.metrics,
1220
+ throughTurnId: messageId,
1221
+ turnStatus: deliveredResult.status,
1222
+ offeredToolNamesByCallId,
1223
+ ...(!resumeFromHistory ? { currentUserText: prompt } : {}),
1224
+ previousAssistantText: lastAssistantText(history),
1225
+ currentTurnMessages,
1226
+ })
1227
+ : undefined;
1228
+ await historyWriter.finalize(deliveredResult.messages, metrics, latestTools);
1153
1229
  if (result.status === "success" || controller.signal.aborted) {
1154
1230
  if (interruptionGeneration !== undefined &&
1155
1231
  session.interruptionGeneration === interruptionGeneration) {
@@ -1158,10 +1234,12 @@ async function runAgent(context, session, prompt, messageId, controller, interru
1158
1234
  }
1159
1235
  session.touchedAt = Date.now();
1160
1236
  await saveSessionMetadata(session);
1161
- emit(session, {
1162
- type: "data-session-metrics",
1163
- data: { metrics },
1164
- });
1237
+ if (metrics) {
1238
+ emit(session, {
1239
+ type: "data-session-metrics",
1240
+ data: { metrics },
1241
+ });
1242
+ }
1165
1243
  ui.consume(deliveredResult, { retryable });
1166
1244
  }
1167
1245
  catch (error) {
@@ -1477,8 +1555,11 @@ async function undoLastTurn(config, request, response, session) {
1477
1555
  });
1478
1556
  return;
1479
1557
  }
1558
+ const checkpointHistory = await loadStoredHistoryState(sessionUndoHistoryPath(session));
1559
+ const checkpointMessages = checkpointHistory?.messages || [];
1560
+ const checkpointMetrics = checkpointHistory?.metrics ?? null;
1480
1561
  await restoreUndoWorkspace(session);
1481
- await saveHistory(session, checkpoint.messages, config, checkpoint.metrics ?? null);
1562
+ await saveHistory(session, checkpointMessages, config, checkpointMetrics, checkpointHistory?.tools);
1482
1563
  await clearModelRetry(session);
1483
1564
  session.pendingInterruption = false;
1484
1565
  session.activePrompt = null;
@@ -1486,13 +1567,14 @@ async function undoLastTurn(config, request, response, session) {
1486
1567
  await saveSessionMetadata(session);
1487
1568
  let turnStart = -1;
1488
1569
  for (let index = session.events.length - 1; index >= 0; index -= 1) {
1489
- if (session.events[index]?.data.type === "start") {
1570
+ if (session.events[index]?.type === "start") {
1490
1571
  turnStart = index;
1491
1572
  break;
1492
1573
  }
1493
1574
  }
1494
1575
  if (turnStart >= 0)
1495
1576
  session.events.splice(turnStart);
1577
+ session.eventBytes = session.events.reduce((total, stored) => total + stored.bytes, 0);
1496
1578
  session.turnStartEventId = session.events.at(-1)?.id || "0";
1497
1579
  const event = emit(session, {
1498
1580
  type: "data-turn-undone",
@@ -1500,8 +1582,7 @@ async function undoLastTurn(config, request, response, session) {
1500
1582
  messageId: checkpoint.messageId,
1501
1583
  input: checkpoint.input,
1502
1584
  attachments: checkpoint.attachments,
1503
- messages: checkpoint.messages,
1504
- metrics: checkpoint.metrics ?? null,
1585
+ historyUpdated: true,
1505
1586
  canUndo: false,
1506
1587
  },
1507
1588
  });
@@ -1512,8 +1593,8 @@ async function undoLastTurn(config, request, response, session) {
1512
1593
  messageId: checkpoint.messageId,
1513
1594
  input: checkpoint.input,
1514
1595
  attachments: checkpoint.attachments,
1515
- messages: checkpoint.messages,
1516
- metrics: checkpoint.metrics ?? null,
1596
+ messages: checkpointMessages,
1597
+ metrics: checkpointMetrics,
1517
1598
  lastEventId: event.id,
1518
1599
  canUndo: false,
1519
1600
  });
@@ -1875,6 +1956,15 @@ export async function startServer(options = {}) {
1875
1956
  const workspace = path.resolve(options.workspace || process.cwd());
1876
1957
  const root = projectRoot();
1877
1958
  const config = configFromEnv(workspace, options.mode);
1959
+ if (options.systemPrompt !== undefined) {
1960
+ config.systemPrompt = options.systemPrompt;
1961
+ }
1962
+ else {
1963
+ config.systemPrompt = { identity: "Qwen" };
1964
+ }
1965
+ if (options.appendSystemPrompt !== undefined) {
1966
+ config.appendSystemPrompt = options.appendSystemPrompt;
1967
+ }
1878
1968
  if (options.excludeQwenFromSystemPrompt) {
1879
1969
  config.excludeQwenFromSystemPrompt = true;
1880
1970
  }