@qwen-code/arena-agent 0.0.10-dev.8-test.0 → 0.0.10-test.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.
- package/.env.example +61 -10
- package/CHANGELOG.md +148 -17
- package/README.md +309 -46
- package/dist/agent.d.ts +20 -6
- package/dist/agent.js +353 -72
- package/dist/agent.js.map +1 -1
- package/dist/anthropic.d.ts +1 -1
- package/dist/anthropic.js +46 -57
- package/dist/anthropic.js.map +1 -1
- package/dist/arena-history.d.ts +12 -0
- package/dist/arena-history.js +119 -0
- package/dist/arena-history.js.map +1 -0
- package/dist/ask-user.js +44 -2
- package/dist/ask-user.js.map +1 -1
- package/dist/attachment-limits.d.ts +4 -0
- package/dist/attachment-limits.js +10 -0
- package/dist/attachment-limits.js.map +1 -0
- package/dist/attachments.d.ts +4 -2
- package/dist/attachments.js +9 -11
- package/dist/attachments.js.map +1 -1
- package/dist/brave-search.js +11 -7
- package/dist/brave-search.js.map +1 -1
- package/dist/canonical-data.d.ts +9 -0
- package/dist/canonical-data.js +12 -3
- package/dist/canonical-data.js.map +1 -1
- package/dist/cli.js +140 -40
- package/dist/cli.js.map +1 -1
- package/dist/code-tool-schema.d.ts +3 -0
- package/dist/code-tool-schema.js +92 -0
- package/dist/code-tool-schema.js.map +1 -0
- package/dist/code-tools.d.ts +2 -1
- package/dist/code-tools.js +103 -31
- package/dist/code-tools.js.map +1 -1
- package/dist/compaction-threshold.d.ts +3 -0
- package/dist/compaction-threshold.js +6 -0
- package/dist/compaction-threshold.js.map +1 -0
- package/dist/compaction.d.ts +24 -7
- package/dist/compaction.js +242 -66
- package/dist/compaction.js.map +1 -1
- package/dist/config.d.ts +17 -0
- package/dist/config.js +30 -5
- package/dist/config.js.map +1 -1
- package/dist/connector-errors.d.ts +16 -0
- package/dist/connector-errors.js +69 -0
- package/dist/connector-errors.js.map +1 -0
- package/dist/connector-files.d.ts +31 -0
- package/dist/connector-files.js +249 -0
- package/dist/connector-files.js.map +1 -0
- package/dist/connector-input.d.ts +10 -0
- package/dist/connector-input.js +79 -0
- package/dist/connector-input.js.map +1 -0
- package/dist/connector-mcp.d.ts +60 -0
- package/dist/connector-mcp.js +474 -0
- package/dist/connector-mcp.js.map +1 -0
- package/dist/connectors.d.ts +13 -0
- package/dist/connectors.js +69 -0
- package/dist/connectors.js.map +1 -0
- package/dist/fetch-page.js +2 -2
- package/dist/fetch-page.js.map +1 -1
- package/dist/history.d.ts +16 -5
- package/dist/history.js +73 -14
- package/dist/history.js.map +1 -1
- package/dist/image-choice.d.ts +23 -0
- package/dist/image-choice.js +190 -0
- package/dist/image-choice.js.map +1 -0
- package/dist/image-input-fallback.js +5 -0
- package/dist/image-input-fallback.js.map +1 -1
- package/dist/image-model.d.ts +6 -0
- package/dist/image-model.js +32 -0
- package/dist/image-model.js.map +1 -0
- package/dist/midturn-checkpoint-hook.d.ts +14 -1
- package/dist/midturn-checkpoint-hook.js.map +1 -1
- package/dist/mode.js +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/model-capabilities.js +18 -8
- package/dist/model-capabilities.js.map +1 -1
- package/dist/model-router-media.js +55 -3
- package/dist/model-router-media.js.map +1 -1
- package/dist/model-stream.d.ts +16 -0
- package/dist/model-stream.js +129 -0
- package/dist/model-stream.js.map +1 -0
- package/dist/openai-responses.d.ts +2 -1
- package/dist/openai-responses.js +85 -88
- package/dist/openai-responses.js.map +1 -1
- package/dist/process-manager.js +9 -9
- package/dist/process-manager.js.map +1 -1
- package/dist/prompts.d.ts +0 -2
- package/dist/prompts.js +10 -60
- package/dist/prompts.js.map +1 -1
- package/dist/protocol.d.ts +5 -1
- package/dist/protocol.js +23 -2
- package/dist/protocol.js.map +1 -1
- package/dist/provider.d.ts +18 -0
- package/dist/provider.js +120 -51
- package/dist/provider.js.map +1 -1
- package/dist/repo.d.ts +1 -1
- package/dist/repo.js +26 -4
- package/dist/repo.js.map +1 -1
- package/dist/routify-web-fetch.js +2 -2
- package/dist/routify-web-fetch.js.map +1 -1
- package/dist/server.js +55 -27
- package/dist/server.js.map +1 -1
- package/dist/session-memory-prompts.d.ts +3 -1
- package/dist/session-memory-prompts.js +4 -2
- package/dist/session-memory-prompts.js.map +1 -1
- package/dist/side-query.js +5 -0
- package/dist/side-query.js.map +1 -1
- package/dist/spec.d.ts +5 -4
- package/dist/spec.js +31 -23
- package/dist/spec.js.map +1 -1
- package/dist/startup-config.d.ts +39 -0
- package/dist/startup-config.js +347 -0
- package/dist/startup-config.js.map +1 -0
- package/dist/startup-main-config.d.ts +63 -0
- package/dist/startup-main-config.js +94 -0
- package/dist/startup-main-config.js.map +1 -0
- package/dist/startup-tool-config.d.ts +8 -0
- package/dist/startup-tool-config.js +116 -0
- package/dist/startup-tool-config.js.map +1 -0
- package/dist/summary-compaction.d.ts +29 -0
- package/dist/{legacy-compaction.js → summary-compaction.js} +79 -14
- package/dist/summary-compaction.js.map +1 -0
- package/dist/tools.d.ts +5 -1
- package/dist/tools.js +195 -68
- package/dist/tools.js.map +1 -1
- package/dist/tui.js +26 -6
- package/dist/tui.js.map +1 -1
- package/dist/types.d.ts +21 -1
- package/dist/web/app.js +30 -5
- package/dist/web/app.js.map +1 -1
- package/dist/workspace.js +61 -13
- package/dist/workspace.js.map +1 -1
- package/docs/BINARY_DISTRIBUTION.md +44 -8
- package/docs/MODES_AND_RELEASES.md +79 -6
- package/docs/SDK.md +1 -0
- package/modes/code-arena/capture-provenance.json +57 -0
- package/modes/code-arena/full-stack/dependencies.lock.json +8670 -0
- package/modes/code-arena/full-stack/system-prompt.txt +1 -1
- package/modes/code-arena/full-stack/template/eslint.config.mjs +3 -4
- package/modes/code-arena/full-stack/template/postcss.config.mjs +2 -2
- package/modes/code-arena/full-stack/tools.json +186 -186
- package/modes/code-arena/html/system-prompt.txt +1 -1
- package/modes/code-arena/html/tools.json +123 -123
- package/modes/code-arena/react/dependencies.lock.json +2707 -0
- package/modes/code-arena/react/system-prompt.txt +4 -3
- package/modes/code-arena/react/tools.json +178 -184
- package/package.json +7 -2
- package/scripts/README.md +23 -4
- package/web/styles.css +22 -0
- package/dist/legacy-compaction.d.ts +0 -16
- package/dist/legacy-compaction.js.map +0 -1
package/dist/compaction.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
|
+
import { agentArenaCompactionThreshold } from "./compaction-threshold.js";
|
|
2
3
|
import { Tiktoken } from "js-tiktoken/lite";
|
|
3
4
|
import o200kBase from "js-tiktoken/ranks/o200k_base";
|
|
4
|
-
import { estimateContextTokens, continuationSummaryBlock as
|
|
5
|
-
import { memoryBudgetNoticeTemplate, emptySessionMemory, memoryContinuationPreamble, memorySystemPrompt, memoryUpdateTemplate } from "./session-memory-prompts.js";
|
|
5
|
+
import { contextTokenReplacer, estimateContextTokens, latestCompleteStepStart, continuationSummaryBlock as summaryBlock, compactMessagesIfNeeded as compactSummary } from "./summary-compaction.js";
|
|
6
|
+
import { memoryBudgetNoticeTemplate, emptySessionMemory, memoryContinuationPreamble, memoryContextTemplate, memorySystemPrompt, memoryUpdatePrefix, memoryUpdateTemplate } from "./session-memory-prompts.js";
|
|
6
7
|
export { estimateContextTokens };
|
|
7
|
-
export
|
|
8
|
+
export { AGENT_ARENA_COMPACTION_THRESHOLD_TOKENS } from "./compaction-threshold.js";
|
|
9
|
+
/** Captures use the ordinary Agent context with the UTC date and no location. */
|
|
10
|
+
export function sessionMemorySystemPrompt(currentDate = new Date().toISOString().slice(0, 10)) {
|
|
11
|
+
return memoryContextTemplate.replace("{{currentDate}}", currentDate) + memorySystemPrompt;
|
|
12
|
+
}
|
|
13
|
+
export function storedSessionMemory(cache) {
|
|
14
|
+
if (!cache.latest && !cache.update)
|
|
15
|
+
return undefined;
|
|
16
|
+
return structuredClone({ version: 1, ...(cache.latest ? { latest: cache.latest } : {}),
|
|
17
|
+
...(cache.update ? { update: cache.update } : {}) });
|
|
18
|
+
}
|
|
19
|
+
export async function settleSessionMemory(cache, cancel = true) {
|
|
20
|
+
if (cancel)
|
|
21
|
+
cache.controller?.abort(new Error("Memory update cancelled at run boundary"));
|
|
22
|
+
await cache.pending;
|
|
23
|
+
}
|
|
8
24
|
const descriptions = new Map(emptySessionMemory.split("\n\n").map(section => {
|
|
9
25
|
const [header, description] = section.split("\n");
|
|
10
26
|
return [header, description];
|
|
@@ -70,7 +86,7 @@ export function mergeSessionMemory(memory, patch) {
|
|
|
70
86
|
return render(previous);
|
|
71
87
|
}
|
|
72
88
|
let memoryEncoder;
|
|
73
|
-
/** o200k_base matches all 45 captured section counts
|
|
89
|
+
/** o200k_base matches all 45 captured section counts and estimates large text. */
|
|
74
90
|
export function memoryTokenEstimate(text) {
|
|
75
91
|
memoryEncoder ??= new Tiktoken(o200kBase);
|
|
76
92
|
// Memory may contain literal special-token spellings; count them as ordinary text.
|
|
@@ -99,7 +115,7 @@ function completedRequestTokens(usage) {
|
|
|
99
115
|
}
|
|
100
116
|
return undefined;
|
|
101
117
|
}
|
|
102
|
-
function
|
|
118
|
+
function characterContextTokens(messages, tools, imageTokenEstimate) {
|
|
103
119
|
// Usage is persisted for accounting but stripped at every provider wire boundary.
|
|
104
120
|
const visible = messages.map(message => {
|
|
105
121
|
if (message.role !== "assistant" || !message.usage)
|
|
@@ -109,6 +125,48 @@ function visibleContextTokens(messages, tools, imageTokenEstimate) {
|
|
|
109
125
|
});
|
|
110
126
|
return estimateContextTokens(visible, tools, imageTokenEstimate);
|
|
111
127
|
}
|
|
128
|
+
/** Large text can be much denser than four ASCII characters per token (e.g. SVG).
|
|
129
|
+
* o200k_base is a local estimate, not the selected model's tokenizer. Keep the
|
|
130
|
+
* character estimate as a floor and allow 10% for tokenizer differences.
|
|
131
|
+
*/
|
|
132
|
+
function largeTextCorrection(messages) {
|
|
133
|
+
let correction = 0;
|
|
134
|
+
const chunkTokens = new Map();
|
|
135
|
+
for (const message of messages) {
|
|
136
|
+
const { usage: _usage, ...visible } = message;
|
|
137
|
+
const value = message.role === "assistant" && message.openai_response_items?.length
|
|
138
|
+
? { role: message.role, openai_response_items: message.openai_response_items } : visible;
|
|
139
|
+
const serialized = JSON.stringify(value, function (key, item) {
|
|
140
|
+
// Opaque provider state is not ordinary text. Leave its existing character
|
|
141
|
+
// estimate intact instead of applying a text tokenizer to ciphertext.
|
|
142
|
+
if (key === "encrypted_content" || key === "signature")
|
|
143
|
+
return "<opaque>";
|
|
144
|
+
return contextTokenReplacer.call(this, key, item);
|
|
145
|
+
});
|
|
146
|
+
if (serialized.length < 4096)
|
|
147
|
+
continue;
|
|
148
|
+
let characters = 0;
|
|
149
|
+
for (const character of serialized)
|
|
150
|
+
characters += character.codePointAt(0) <= 0x7f ? 0.25 : 1;
|
|
151
|
+
let tokens = 0;
|
|
152
|
+
// BPE can be quadratic on long runs without separators. Small, memoized
|
|
153
|
+
// chunks bound that work; boundary splits only make this more conservative.
|
|
154
|
+
for (let offset = 0; offset < serialized.length; offset += 512) {
|
|
155
|
+
const chunk = serialized.slice(offset, offset + 512);
|
|
156
|
+
let count = chunkTokens.get(chunk);
|
|
157
|
+
if (count === undefined) {
|
|
158
|
+
count = memoryTokenEstimate(chunk);
|
|
159
|
+
chunkTokens.set(chunk, count);
|
|
160
|
+
}
|
|
161
|
+
tokens += count;
|
|
162
|
+
}
|
|
163
|
+
correction += Math.max(0, Math.ceil(tokens * 1.1) - Math.floor(characters));
|
|
164
|
+
}
|
|
165
|
+
return correction;
|
|
166
|
+
}
|
|
167
|
+
function visibleContextTokens(messages, tools, imageTokenEstimate) {
|
|
168
|
+
return characterContextTokens(messages, tools, imageTokenEstimate) + largeTextCorrection(messages);
|
|
169
|
+
}
|
|
112
170
|
function hasMemoryOnlyPrefix(messages, assistantIndex) {
|
|
113
171
|
const firstIndex = messages[0]?.role === "system" ? 1 : 0;
|
|
114
172
|
const first = messages[firstIndex];
|
|
@@ -126,7 +184,7 @@ function hasMemoryOnlyPrefix(messages, assistantIndex) {
|
|
|
126
184
|
}
|
|
127
185
|
/** Provider-reported completed-request usage plus an estimate of later messages. */
|
|
128
186
|
export function estimateCompactionTokens(messages, tools, imageTokenEstimate) {
|
|
129
|
-
const current =
|
|
187
|
+
const current = characterContextTokens(messages, tools, imageTokenEstimate);
|
|
130
188
|
for (let index = messages.length - 1; index >= 0; index--) {
|
|
131
189
|
const message = messages[index];
|
|
132
190
|
if (message?.role !== "assistant")
|
|
@@ -135,18 +193,62 @@ export function estimateCompactionTokens(messages, tools, imageTokenEstimate) {
|
|
|
135
193
|
continue;
|
|
136
194
|
const completed = completedRequestTokens(message.usage);
|
|
137
195
|
if (completed !== undefined) {
|
|
138
|
-
const throughAssistant =
|
|
139
|
-
return Math.max(0, completed + current - throughAssistant);
|
|
196
|
+
const throughAssistant = characterContextTokens(messages.slice(0, index + 1), tools, imageTokenEstimate);
|
|
197
|
+
return Math.max(0, completed + current - throughAssistant + largeTextCorrection(messages.slice(index + 1)));
|
|
140
198
|
}
|
|
141
199
|
// Some OpenAI-compatible endpoints omit total/output usage. Fall back to
|
|
142
200
|
// the exact input baseline and locally estimate the replayed assistant too.
|
|
143
201
|
const baseline = inputTokens(message.usage);
|
|
144
202
|
if (baseline === undefined)
|
|
145
203
|
continue;
|
|
146
|
-
const previous =
|
|
147
|
-
return Math.max(0, baseline + current - previous);
|
|
204
|
+
const previous = characterContextTokens(messages.slice(0, index), tools, imageTokenEstimate);
|
|
205
|
+
return Math.max(0, baseline + current - previous + largeTextCorrection(messages.slice(index)));
|
|
206
|
+
}
|
|
207
|
+
return current + largeTextCorrection(messages);
|
|
208
|
+
}
|
|
209
|
+
/** Estimate only an unarchived span; request input/total usage cancels its shared prefix. */
|
|
210
|
+
export function estimateSessionMemoryTokens(source, imageTokenEstimate) {
|
|
211
|
+
const local = (messages) => messages.length
|
|
212
|
+
? visibleContextTokens(messages, [], imageTokenEstimate) : 0;
|
|
213
|
+
let first = -1;
|
|
214
|
+
let baseline = 0;
|
|
215
|
+
let previousInput = 0;
|
|
216
|
+
let last = -1;
|
|
217
|
+
let endTokens = 0;
|
|
218
|
+
let includesAssistant = false;
|
|
219
|
+
for (let index = 0; index < source.length; index++) {
|
|
220
|
+
const message = source[index];
|
|
221
|
+
if (message.role !== "assistant")
|
|
222
|
+
continue;
|
|
223
|
+
const input = inputTokens(message.usage);
|
|
224
|
+
const completed = completedRequestTokens(message.usage);
|
|
225
|
+
// A replaced prefix or inconsistent usage cannot provide a meaningful delta.
|
|
226
|
+
if (input !== undefined && (input < previousInput || (completed !== undefined && completed < input))) {
|
|
227
|
+
return local(source);
|
|
228
|
+
}
|
|
229
|
+
if (input !== undefined)
|
|
230
|
+
previousInput = input;
|
|
231
|
+
if (first < 0) {
|
|
232
|
+
if (input === undefined)
|
|
233
|
+
continue;
|
|
234
|
+
first = index;
|
|
235
|
+
baseline = input;
|
|
236
|
+
}
|
|
237
|
+
const end = completed ?? input;
|
|
238
|
+
if (end === undefined)
|
|
239
|
+
continue;
|
|
240
|
+
if (end < baseline)
|
|
241
|
+
return local(source);
|
|
242
|
+
last = index;
|
|
243
|
+
endTokens = end;
|
|
244
|
+
includesAssistant = completed !== undefined;
|
|
148
245
|
}
|
|
149
|
-
|
|
246
|
+
if (first < 0)
|
|
247
|
+
return local(source);
|
|
248
|
+
// Leading user messages were already in the first input; trailing results were
|
|
249
|
+
// not in the last request. Neither belongs in the usage delta itself.
|
|
250
|
+
return local(source.slice(0, first)) + endTokens - baseline +
|
|
251
|
+
local(source.slice(last + (includesAssistant ? 1 : 0)));
|
|
150
252
|
}
|
|
151
253
|
export function sessionMemoryUpdatePrompt(memory) {
|
|
152
254
|
const oversized = [...sections(memory, false)].flatMap(([header, body]) => {
|
|
@@ -154,8 +256,8 @@ export function sessionMemoryUpdatePrompt(memory) {
|
|
|
154
256
|
const count = memoryTokenEstimate(body.replace(/^_[^\n]+_\s*/, ""));
|
|
155
257
|
return count > budget ? [`- "${header}" is ~${count} tokens (limit: 1500)`] : [];
|
|
156
258
|
});
|
|
157
|
-
const notice = oversized.length ? "\n\n" + memoryBudgetNoticeTemplate.replace("{{SECTIONS}}", oversized.join("\n")) : "";
|
|
158
|
-
return memoryUpdateTemplate.replace("\n\n<session_memory>{{MEMORY}}</session_memory>", `${notice}\n\n<session_memory>\n${memory}\n</session_memory>`);
|
|
259
|
+
const notice = oversized.length ? "\n\n" + memoryBudgetNoticeTemplate.replace("{{SECTIONS}}", () => oversized.join("\n")) : "";
|
|
260
|
+
return memoryUpdateTemplate.replace("\n\n<session_memory>{{MEMORY}}</session_memory>", () => `${notice}\n\n<session_memory>\n${memory}\n</session_memory>`);
|
|
159
261
|
}
|
|
160
262
|
export function continuationSummaryBlock(memory) {
|
|
161
263
|
return `<arena-system-message>\n${memoryContinuationPreamble}\n\n${escapedMemory(memory)}\n\n</arena-system-message>`;
|
|
@@ -169,13 +271,21 @@ export function contextFromHistory(history) {
|
|
|
169
271
|
const summary = marker.content.map(part => part.text).join("\n");
|
|
170
272
|
if (!summary.trim())
|
|
171
273
|
throw new Error("Compaction record has no summary");
|
|
172
|
-
const tail = history.slice(i + 1).filter(message => message.role !== "compaction")
|
|
274
|
+
const tail = history.slice(i + 1).filter(message => message.role !== "compaction").map((message, index) => {
|
|
275
|
+
// These requests used the prefix that this marker replaced. Keep
|
|
276
|
+
// their usage in raw history for accounting, but not as a context baseline.
|
|
277
|
+
if (index < (marker.compaction?.retained_messages ?? 0) && message.role === "assistant") {
|
|
278
|
+
const { usage: _usage, ...rest } = message;
|
|
279
|
+
return rest;
|
|
280
|
+
}
|
|
281
|
+
return message;
|
|
282
|
+
});
|
|
173
283
|
if (tail[0]?.role === "tool")
|
|
174
284
|
throw new Error("Compaction record splits a tool call/result pair");
|
|
175
285
|
// The dump also contains older full summaries. Preserve their wrapper;
|
|
176
286
|
// current eight-section memory continues to use its captured preamble.
|
|
177
287
|
const block = summary.startsWith("# Current State\n")
|
|
178
|
-
? continuationSummaryBlock(summary) :
|
|
288
|
+
? continuationSummaryBlock(summary) : summaryBlock(summary);
|
|
179
289
|
const first = tail[0];
|
|
180
290
|
const user = { role: "user", content: [{ text: block },
|
|
181
291
|
...(first?.role === "user" ? typeof first.content === "string"
|
|
@@ -239,7 +349,12 @@ export function sessionMemoryMatchesHistory(state, messages) {
|
|
|
239
349
|
export function restoreSessionMemory(messages, state) {
|
|
240
350
|
if (!sessionMemoryMatchesHistory(state, messages))
|
|
241
351
|
return false;
|
|
242
|
-
const tail = messages.slice(state.coveredMessages)
|
|
352
|
+
const tail = messages.slice(state.coveredMessages).map(message => {
|
|
353
|
+
if (message.role !== "assistant")
|
|
354
|
+
return message;
|
|
355
|
+
const { usage: _usage, ...rest } = message;
|
|
356
|
+
return rest;
|
|
357
|
+
});
|
|
243
358
|
const first = tail[0];
|
|
244
359
|
messages.splice(1, messages.length - 1, ...(first?.role === "user" ? [prepend(first, state.memory), ...tail.slice(1)] :
|
|
245
360
|
[{ role: "user", content: continuationSummaryBlock(state.memory) }, ...tail]));
|
|
@@ -247,10 +362,15 @@ export function restoreSessionMemory(messages, state) {
|
|
|
247
362
|
}
|
|
248
363
|
export async function compactMessagesIfNeeded(messages, tools, client, model, settings, signal) {
|
|
249
364
|
if (settings.legacy)
|
|
250
|
-
return
|
|
365
|
+
return compactSummary(messages, tools, client, model, {
|
|
366
|
+
...settings,
|
|
367
|
+
estimateTokens: estimateCompactionTokens,
|
|
368
|
+
estimateLocalTokens: visibleContextTokens,
|
|
369
|
+
allowMidturn: true,
|
|
370
|
+
}, signal);
|
|
251
371
|
const before = estimateCompactionTokens(messages, tools, settings.imageTokenEstimate);
|
|
252
372
|
const unchanged = { compacted: false, estimatedTokensBefore: before, estimatedTokensAfter: before };
|
|
253
|
-
const threshold = settings.
|
|
373
|
+
const threshold = agentArenaCompactionThreshold(settings.contextWindow, settings.triggerRatio, settings.compactionThresholdTokens);
|
|
254
374
|
if (before < threshold)
|
|
255
375
|
return unchanged;
|
|
256
376
|
// Preserve the current human turn (including all its tool-call/result pairs).
|
|
@@ -264,8 +384,9 @@ export async function compactMessagesIfNeeded(messages, tools, client, model, se
|
|
|
264
384
|
}
|
|
265
385
|
if (boundary <= 1)
|
|
266
386
|
return unchanged;
|
|
267
|
-
|
|
268
|
-
|
|
387
|
+
if (settings.onBeforeCompaction)
|
|
388
|
+
await settings.onBeforeCompaction(before, threshold);
|
|
389
|
+
const { memory, usage } = await updateMemory(messages.slice(1, boundary), emptySessionMemory, client, model, settings, signal);
|
|
269
390
|
if (!memory)
|
|
270
391
|
return { ...unchanged, usage };
|
|
271
392
|
const current = messages[boundary];
|
|
@@ -273,10 +394,49 @@ export async function compactMessagesIfNeeded(messages, tools, client, model, se
|
|
|
273
394
|
return { compacted: true, estimatedTokensBefore: before,
|
|
274
395
|
estimatedTokensAfter: visibleContextTokens(messages, tools, settings.imageTokenEstimate), usage, memory };
|
|
275
396
|
}
|
|
397
|
+
/** Captured memory envelope; source messages and opaque provider state stay intact. */
|
|
398
|
+
export function sessionMemoryUpdateMessages(source, previous, currentDate) {
|
|
399
|
+
const conversation = [...source];
|
|
400
|
+
const first = conversation[0];
|
|
401
|
+
const partsOf = (message) => typeof message.content === "string"
|
|
402
|
+
? message.content ? [{ text: message.content }] : [] : structuredClone(message.content);
|
|
403
|
+
if (first?.role === "user") {
|
|
404
|
+
const parts = partsOf(first), controls = [];
|
|
405
|
+
// These captured context blocks precede the updater prefix, even when the
|
|
406
|
+
// remaining user content is merged into the same multimodal message.
|
|
407
|
+
while (parts[0] && "text" in parts[0]) {
|
|
408
|
+
const text = parts[0].text;
|
|
409
|
+
const control = /^<arena-system-message>\n(?:The conversation so far has been condensed into the session memory below\.|The previous assistant response was stopped by the user before it completed\.)[\s\S]*?<\/arena-system-message>/.exec(text)?.[0];
|
|
410
|
+
if (!control)
|
|
411
|
+
break;
|
|
412
|
+
controls.push({ text: control });
|
|
413
|
+
parts.shift();
|
|
414
|
+
if (text.length > control.length)
|
|
415
|
+
parts.unshift({ text: text.slice(control.length) });
|
|
416
|
+
}
|
|
417
|
+
const content = [...controls, { text: memoryUpdatePrefix }, ...parts];
|
|
418
|
+
conversation[0] = content.length === 1 ? { role: "user", content: memoryUpdatePrefix } : { role: "user", content };
|
|
419
|
+
}
|
|
420
|
+
else
|
|
421
|
+
conversation.unshift({ role: "user", content: memoryUpdatePrefix });
|
|
422
|
+
conversation.push({ role: "user", content: sessionMemoryUpdatePrompt(previous) });
|
|
423
|
+
const messages = [{ role: "system", content: sessionMemorySystemPrompt(currentDate) }];
|
|
424
|
+
for (const message of conversation) {
|
|
425
|
+
const last = messages.at(-1);
|
|
426
|
+
// In particular, image tool results at the end share a user message with
|
|
427
|
+
// the update instruction; neither their images nor text may be dropped.
|
|
428
|
+
if (last?.role === "user" && message.role === "user") {
|
|
429
|
+
messages[messages.length - 1] = { role: "user", content: [...partsOf(last), ...partsOf(message)] };
|
|
430
|
+
}
|
|
431
|
+
else
|
|
432
|
+
messages.push(message);
|
|
433
|
+
}
|
|
434
|
+
return messages;
|
|
435
|
+
}
|
|
276
436
|
async function updateMemory(source, previous, client, model, settings, signal) {
|
|
437
|
+
signal?.throwIfAborted();
|
|
277
438
|
const request = {
|
|
278
|
-
model, messages:
|
|
279
|
-
{ role: "user", content: sessionMemoryUpdatePrompt(previous) }],
|
|
439
|
+
model, messages: sessionMemoryUpdateMessages(source, previous),
|
|
280
440
|
tools: [], toolChoice: "none", temperature: 1, maxTokens: settings.summaryMaxTokens,
|
|
281
441
|
...(settings.reasoningEffort ? { reasoningEffort: settings.reasoningEffort } : { thinkingBudget: 81920 }),
|
|
282
442
|
enableThinking: true, preserveThinking: true, useProviderDefaults: true, signal,
|
|
@@ -294,77 +454,93 @@ async function updateMemory(source, previous, client, model, settings, signal) {
|
|
|
294
454
|
}
|
|
295
455
|
if (signal?.aborted)
|
|
296
456
|
throw signal.reason || new Error("Memory update cancelled");
|
|
297
|
-
if (!patch.trim()
|
|
298
|
-
return { usage };
|
|
457
|
+
if (!patch.trim())
|
|
458
|
+
return { usage, update: { status: "error", code: "MEMORY_EMPTY_RESPONSE", usage } };
|
|
459
|
+
if (finishReason && finishReason !== "stop")
|
|
460
|
+
return { usage,
|
|
461
|
+
update: { status: "error", code: "MEMORY_INCOMPLETE_RESPONSE", error: `Memory response finished with ${finishReason}`, usage } };
|
|
299
462
|
let memory;
|
|
300
463
|
try {
|
|
301
464
|
memory = mergeSessionMemory(previous, patch);
|
|
302
465
|
}
|
|
303
|
-
catch {
|
|
304
|
-
return { usage };
|
|
466
|
+
catch (error) {
|
|
467
|
+
return { usage, update: { status: "error", code: "MEMORY_INVALID_PATCH", error: String(error), usage } };
|
|
305
468
|
}
|
|
306
|
-
return { memory, usage };
|
|
469
|
+
return { memory, usage, update: { status: "success", usage } };
|
|
307
470
|
}
|
|
308
471
|
/** Provisional scheduling policy, not an observed official constant. */
|
|
309
472
|
export async function maintainSessionMemory(messages, history, cache, tools, client, model, settings, updateTokens = 24_000, signal, onUpdate) {
|
|
310
473
|
const before = estimateCompactionTokens(messages, tools, settings.imageTokenEstimate);
|
|
311
474
|
const unchanged = { compacted: false, estimatedTokensBefore: before, estimatedTokensAfter: before };
|
|
312
|
-
const threshold = settings.
|
|
475
|
+
const threshold = agentArenaCompactionThreshold(settings.contextWindow, settings.triggerRatio, settings.compactionThresholdTokens);
|
|
313
476
|
const needsCompaction = before >= threshold;
|
|
314
477
|
if (cache.latest && !sessionMemoryMatchesHistory(cache.latest, history))
|
|
315
478
|
cache.latest = undefined;
|
|
316
479
|
if (cache.state && !sessionMemoryMatchesHistory(cache.state, history))
|
|
317
480
|
cache.state = undefined;
|
|
318
|
-
|
|
319
|
-
|
|
481
|
+
if (needsCompaction && cache.latest && cache.latest.coveredMessages > (cache.state?.coveredMessages ?? 1)) {
|
|
482
|
+
await settings.onBeforeCompaction?.(before, threshold);
|
|
483
|
+
// Coverage refers to the current history. Close a concurrent refresh
|
|
484
|
+
// before replacing that history, then use the latest completed snapshot.
|
|
485
|
+
await settleSessionMemory(cache);
|
|
486
|
+
const latest = cache.latest;
|
|
487
|
+
const usage = cache.latestUsage;
|
|
488
|
+
const replacement = [...history];
|
|
489
|
+
if (!restoreSessionMemory(replacement, latest))
|
|
490
|
+
return unchanged;
|
|
491
|
+
messages.splice(0, messages.length, ...replacement);
|
|
492
|
+
cache.state = latest;
|
|
493
|
+
return { compacted: true, estimatedTokensBefore: before,
|
|
494
|
+
estimatedTokensAfter: visibleContextTokens(messages, tools, settings.imageTokenEstimate),
|
|
495
|
+
memory: latest.memory, usage };
|
|
496
|
+
}
|
|
320
497
|
// Keep the newest complete assistant/tool step (or newest user message) verbatim.
|
|
321
498
|
// This also permits updates during a long single-user tool loop.
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
// Keep an immediately preceding user instruction with the retained step.
|
|
326
|
-
while (boundary > 1 && history[boundary - 1]?.role === "user")
|
|
327
|
-
boundary--;
|
|
499
|
+
const boundary = latestCompleteStepStart(history);
|
|
500
|
+
const previous = cache.latest || cache.state;
|
|
501
|
+
const embedded = previous ? undefined : extractMemory(history);
|
|
328
502
|
const start = previous?.coveredMessages ?? 1;
|
|
329
503
|
if (!cache.pending && boundary > start) {
|
|
330
|
-
const source = structuredClone(
|
|
331
|
-
|
|
332
|
-
if (source[0]?.role === "user" && Array.isArray(source[0].content) && !source[0].content.length)
|
|
333
|
-
source.shift();
|
|
504
|
+
const source = structuredClone(history.slice(start, boundary));
|
|
505
|
+
const budgetSource = (embedded?.messages ?? history).slice(start, boundary);
|
|
334
506
|
const prefixHash = memoryPrefixHash(history, boundary);
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
const eligible = estimateContextTokens(source, [], settings.imageTokenEstimate) >= updateTokens;
|
|
338
|
-
if ((eligible || needsCompaction) && cache.attemptedPrefix !== prefixHash) {
|
|
507
|
+
const eligible = estimateSessionMemoryTokens(budgetSource, settings.imageTokenEstimate) >= updateTokens;
|
|
508
|
+
if (eligible && cache.attemptedPrefix !== prefixHash) {
|
|
339
509
|
cache.attemptedPrefix = prefixHash;
|
|
340
|
-
|
|
510
|
+
const controller = new AbortController();
|
|
511
|
+
cache.controller = controller;
|
|
512
|
+
const updateSignal = signal ? AbortSignal.any([signal, controller.signal]) : controller.signal;
|
|
513
|
+
cache.update = { status: "pending" };
|
|
514
|
+
// Publish the promise before any callback yields so concurrent schedulers
|
|
515
|
+
// observe the same in-flight update.
|
|
516
|
+
cache.pending = Promise.resolve().then(async () => {
|
|
517
|
+
if (onUpdate)
|
|
518
|
+
await onUpdate({ status: "pending" });
|
|
341
519
|
try {
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
520
|
+
// With no cached update, official captures retain applied memory in
|
|
521
|
+
// the source and start a fresh section patch from the empty template.
|
|
522
|
+
const result = await updateMemory(source, previous?.memory ?? emptySessionMemory, client, model, settings, updateSignal);
|
|
523
|
+
updateSignal.throwIfAborted();
|
|
524
|
+
cache.update = result.update;
|
|
525
|
+
if (result.memory && memoryPrefixHash(history, boundary) === prefixHash) {
|
|
345
526
|
cache.latest = { version: 1, memory: result.memory, coveredMessages: boundary, prefixHash };
|
|
346
527
|
cache.latestUsage = result.usage;
|
|
347
528
|
}
|
|
529
|
+
else if (result.memory) {
|
|
530
|
+
cache.update = { status: "error", code: "MEMORY_STALE_HISTORY", usage: result.usage };
|
|
531
|
+
}
|
|
348
532
|
}
|
|
349
|
-
catch {
|
|
350
|
-
|
|
533
|
+
catch (error) {
|
|
534
|
+
cache.update = { status: updateSignal.aborted ? "cancelled" : "error",
|
|
535
|
+
code: updateSignal.aborted ? "MEMORY_CANCELLED" : "MEMORY_REQUEST_FAILED",
|
|
536
|
+
error: error instanceof Error ? error.message : String(error) };
|
|
537
|
+
}
|
|
538
|
+
await onUpdate?.(cache.update);
|
|
539
|
+
}).finally(() => { cache.pending = undefined; cache.controller = undefined; });
|
|
351
540
|
}
|
|
352
541
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
if (cache.pending)
|
|
357
|
-
await cache.pending;
|
|
358
|
-
const latest = cache.latest;
|
|
359
|
-
if (!latest || latest.coveredMessages <= (cache.state?.coveredMessages ?? 1))
|
|
360
|
-
return unchanged;
|
|
361
|
-
const replacement = [...history];
|
|
362
|
-
if (!restoreSessionMemory(replacement, latest))
|
|
363
|
-
return unchanged;
|
|
364
|
-
messages.splice(0, messages.length, ...replacement);
|
|
365
|
-
cache.state = latest;
|
|
366
|
-
return { compacted: true, estimatedTokensBefore: before,
|
|
367
|
-
estimatedTokensAfter: visibleContextTokens(messages, tools, settings.imageTokenEstimate),
|
|
368
|
-
memory: latest.memory, usage: cache.latestUsage };
|
|
542
|
+
// Crossing the threshold does not create or wait for memory. Continue with
|
|
543
|
+
// the exact conversation until a background refresh is available.
|
|
544
|
+
return unchanged;
|
|
369
545
|
}
|
|
370
546
|
//# sourceMappingURL=compaction.js.map
|
package/dist/compaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compaction.js","sourceRoot":"","sources":["../src/compaction.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type ConnectorService } from "./connectors.js";
|
|
2
|
+
import { type MergeConnectorConfig } from "./connector-mcp.js";
|
|
1
3
|
export { modelInputCapabilities, normalizeModelId, supportsImageInput, supportsModelInput, type ModelInputCapabilities, type ModelInputModality, } from "./model-capabilities.js";
|
|
2
4
|
import { type HarnessMode } from "./mode.js";
|
|
3
5
|
import type { ReasoningEffort } from "./types.js";
|
|
@@ -11,6 +13,7 @@ export interface RetryableStatusMatcher {
|
|
|
11
13
|
classes: number[];
|
|
12
14
|
}
|
|
13
15
|
export type ModelProtocol = "anthropic-messages" | "openai-chat-completions" | "openai-responses";
|
|
16
|
+
export type CompactionMode = "rolling" | "summary";
|
|
14
17
|
export interface ArenaConfig {
|
|
15
18
|
mode: HarnessMode;
|
|
16
19
|
model: string;
|
|
@@ -21,6 +24,8 @@ export interface ArenaConfig {
|
|
|
21
24
|
apiKey?: string;
|
|
22
25
|
/** Native OpenAI transport. Auto selects Responses for GPT model names. */
|
|
23
26
|
openaiApi?: "auto" | "chat-completions" | "responses";
|
|
27
|
+
/** Replay reasoning encrypted_content and id in Responses input (default true). */
|
|
28
|
+
responsesReplayReasoningState?: boolean;
|
|
24
29
|
maxTurns?: number;
|
|
25
30
|
maxTokens: number;
|
|
26
31
|
temperature: number;
|
|
@@ -31,6 +36,12 @@ export interface ArenaConfig {
|
|
|
31
36
|
reasoningEffort?: ReasoningEffort;
|
|
32
37
|
toolChoice: string;
|
|
33
38
|
disallowedTools?: string[];
|
|
39
|
+
/** Agent Arena only. Conversation-enabled apps; opt-in discovery also accepts connectedConnectors. */
|
|
40
|
+
connectors?: readonly ConnectorService[];
|
|
41
|
+
/** Optional host-authenticated app list. Supplying [] enables discovery with no connected apps. */
|
|
42
|
+
connectedConnectors?: readonly string[];
|
|
43
|
+
/** Agent Arena only. Server-side Merge identity; never sent to the model. */
|
|
44
|
+
mergeConnectors?: MergeConnectorConfig;
|
|
34
45
|
extraBody?: Record<string, unknown>;
|
|
35
46
|
enableThinking: boolean;
|
|
36
47
|
thinkingBudget: number;
|
|
@@ -44,7 +55,13 @@ export interface ArenaConfig {
|
|
|
44
55
|
/** Remove Qwen from the Arena identity-model list in the system prompt. */
|
|
45
56
|
excludeQwenFromSystemPrompt?: boolean;
|
|
46
57
|
contextWindow: number;
|
|
58
|
+
/** Agent Arena defaults to rolling; Code Arena always uses summary. */
|
|
59
|
+
compactionMode?: CompactionMode;
|
|
60
|
+
/** Restore Agent Arena rolling memory by default; false opts out. */
|
|
61
|
+
restoreSessionMemory?: boolean;
|
|
47
62
|
contextCompactionRatio: number;
|
|
63
|
+
/** Resolved Agent Arena threshold; defaults to min(250k, 80% of the window). */
|
|
64
|
+
compactionThresholdTokens?: number;
|
|
48
65
|
compactionSummaryMaxTokens: number;
|
|
49
66
|
memoryUpdateTokens?: number;
|
|
50
67
|
modelMaxRetries?: number;
|