aura-code 0.10.1 → 0.10.3
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/dist/agent/compactor.d.ts +26 -4
- package/dist/agent/compactor.js +57 -63
- package/dist/agent/compactor.js.map +1 -1
- package/dist/agent/context.d.ts +1 -0
- package/dist/agent/context.js +3 -2
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/loop.d.ts +2 -1
- package/dist/agent/loop.js +52 -7
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/mixture.js +5 -3
- package/dist/agent/mixture.js.map +1 -1
- package/dist/agent/system-prompt.js +9 -16
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tiered-context.d.ts +36 -0
- package/dist/agent/tiered-context.js +234 -0
- package/dist/agent/tiered-context.js.map +1 -0
- package/dist/cli/command-palette.js +2 -0
- package/dist/cli/command-palette.js.map +1 -1
- package/dist/cli/diamond.d.ts +1 -3
- package/dist/cli/diamond.js +52 -29
- package/dist/cli/diamond.js.map +1 -1
- package/dist/cli/display.d.ts +2 -0
- package/dist/cli/display.js +3 -0
- package/dist/cli/display.js.map +1 -1
- package/dist/cli/help-data.js +1 -0
- package/dist/cli/help-data.js.map +1 -1
- package/dist/cli/index.js +49 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/tui.js +75 -31
- package/dist/cli/tui.js.map +1 -1
- package/dist/providers/anthropic.d.ts +1 -0
- package/dist/providers/anthropic.js +15 -3
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/factory.js +9 -2
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/openai-compatible.js +22 -1
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/providers/types.d.ts +1 -0
- package/dist/ruby/alternator.js +1 -1
- package/dist/ruby/alternator.js.map +1 -1
- package/dist/tools/gmail-tool.js +3 -3
- package/dist/tools/gmail-tool.js.map +1 -1
- package/dist/tools/index.js +12 -12
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/telegram-bot.js +43 -7
- package/dist/tools/telegram-bot.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import type { HistoryMessage } from '../providers/types.js';
|
|
2
2
|
export declare const ROLLOVER_AT_GENERATION = 3;
|
|
3
|
+
/** Verbatim recent-history budget kept through compaction, as a share of the
|
|
4
|
+
* window. 40% preserves interaction nuance over long sequences. Exported so
|
|
5
|
+
* the tiered strategy (tiered-context.ts) sizes its tail identically. */
|
|
6
|
+
export declare const RETENTION_RATIO = 0.4;
|
|
7
|
+
export declare const DEFAULT_WINDOW = 128000;
|
|
8
|
+
/** Exported so the tiered strategy fires on the same escalating trigger as
|
|
9
|
+
* the default strategy — the two are meant to be A/B-comparable, not to
|
|
10
|
+
* differ in when they kick in, only in what they do once triggered. */
|
|
11
|
+
export declare function thresholdRatio(generation: number): number;
|
|
3
12
|
/** Generation of the current recap (0 if history hasn't been compacted yet). */
|
|
4
13
|
export declare function getRecapGeneration(history: HistoryMessage[]): number;
|
|
5
14
|
/** Index of the current recap message, or -1 if history hasn't been
|
|
@@ -30,10 +39,14 @@ export declare function countMessage(msg: HistoryMessage): number;
|
|
|
30
39
|
* Keeps the first message (task) and a recent tail of up to RETENTION_RATIO
|
|
31
40
|
* of the window verbatim; replaces the middle with a recap that can carry an
|
|
32
41
|
* executive digest and tone hint (see extras). If the middle already
|
|
33
|
-
* contains a prior recap,
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
42
|
+
* contains a prior recap, its accumulated body (below HISTORY_MARKER) is
|
|
43
|
+
* carried forward byte-for-byte and only the newly-aged-out turns are
|
|
44
|
+
* appended — the header/hint/digest lines are the only part regenerated
|
|
45
|
+
* each call, so most of the recap's content stays a stable prefix across
|
|
46
|
+
* compactions (helps any cache breakpoint placed after it survive). The new
|
|
47
|
+
* recap's generation increments — once it would exceed
|
|
48
|
+
* ROLLOVER_AT_GENERATION, callers should flush via generational-flush.ts
|
|
49
|
+
* instead of calling this again.
|
|
37
50
|
*
|
|
38
51
|
* Mutates `history` in place (clears and re-fills) so callers that hold a
|
|
39
52
|
* shared reference see the compacted version without reassignment.
|
|
@@ -46,4 +59,13 @@ export interface CompactionExtras {
|
|
|
46
59
|
/** Advisory tone hint (detectFrustration()). */
|
|
47
60
|
affectHint?: string;
|
|
48
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Index of the first message to keep verbatim: walk backward from the end of
|
|
64
|
+
* `history` accumulating message sizes until the tail would exceed
|
|
65
|
+
* RETENTION_RATIO of the window, then snap to the nearest user-turn start so
|
|
66
|
+
* the kept slice opens with user context and no tool_use/tool_result pair is
|
|
67
|
+
* split. Exported so both the default and tiered compaction strategies size
|
|
68
|
+
* and align their verbatim tail identically (see tiered-context.ts).
|
|
69
|
+
*/
|
|
70
|
+
export declare function computeTailBoundary(history: HistoryMessage[], window: number): number;
|
|
49
71
|
export declare function compactHistory(history: HistoryMessage[], totalTokens: number, model: string, extras?: CompactionExtras): boolean;
|
package/dist/agent/compactor.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ROLLOVER_AT_GENERATION = void 0;
|
|
3
|
+
exports.DEFAULT_WINDOW = exports.RETENTION_RATIO = exports.ROLLOVER_AT_GENERATION = void 0;
|
|
4
|
+
exports.thresholdRatio = thresholdRatio;
|
|
4
5
|
exports.getRecapGeneration = getRecapGeneration;
|
|
5
6
|
exports.findRecapIndex = findRecapIndex;
|
|
6
7
|
exports.countText = countText;
|
|
7
8
|
exports.estimateContextTokens = estimateContextTokens;
|
|
8
9
|
exports.countMessage = countMessage;
|
|
10
|
+
exports.computeTailBoundary = computeTailBoundary;
|
|
9
11
|
exports.compactHistory = compactHistory;
|
|
10
12
|
const factory_js_1 = require("../providers/factory.js");
|
|
11
13
|
/**
|
|
@@ -20,13 +22,17 @@ const factory_js_1 = require("../providers/factory.js");
|
|
|
20
22
|
const LADDER = [0.55, 0.70, 0.85];
|
|
21
23
|
exports.ROLLOVER_AT_GENERATION = 3;
|
|
22
24
|
/** Verbatim recent-history budget kept through compaction, as a share of the
|
|
23
|
-
* window. 40% preserves interaction nuance over long sequences.
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
* window. 40% preserves interaction nuance over long sequences. Exported so
|
|
26
|
+
* the tiered strategy (tiered-context.ts) sizes its tail identically. */
|
|
27
|
+
exports.RETENTION_RATIO = 0.40;
|
|
28
|
+
exports.DEFAULT_WINDOW = 128_000;
|
|
26
29
|
/** Messages kept when no later user turn exists to anchor the tail. */
|
|
27
30
|
const FALLBACK_KEEP = 3;
|
|
28
31
|
/** Per-tool-result cap applied by the churn guard (see compactHistory). */
|
|
29
32
|
const MAX_RESULT_CHARS = 4_000;
|
|
33
|
+
/** Exported so the tiered strategy fires on the same escalating trigger as
|
|
34
|
+
* the default strategy — the two are meant to be A/B-comparable, not to
|
|
35
|
+
* differ in when they kick in, only in what they do once triggered. */
|
|
30
36
|
function thresholdRatio(generation) {
|
|
31
37
|
return LADDER[Math.min(generation, LADDER.length - 1)];
|
|
32
38
|
}
|
|
@@ -127,52 +133,23 @@ function countMessage(msg) {
|
|
|
127
133
|
}
|
|
128
134
|
}
|
|
129
135
|
}
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
'user', 'assistant', 'tool', 'results', 'called', 'earlier', 'conversation',
|
|
135
|
-
'compacted', 'turns', 'removed', 'stay', 'within', 'context', 'limits',
|
|
136
|
-
]);
|
|
137
|
-
/** Top-N most frequent non-stopword tokens across a set of lines. Pure stats,
|
|
138
|
-
* no LLM — same style as dream.ts's topicKey / mining/extract.ts. */
|
|
139
|
-
function extractTopTerms(lines, n) {
|
|
140
|
-
const freq = new Map();
|
|
141
|
-
for (const line of lines) {
|
|
142
|
-
const words = line.toLowerCase().replace(/[^a-z0-9\s./_-]/g, ' ').split(/\s+/);
|
|
143
|
-
for (const w of words) {
|
|
144
|
-
if (w.length <= 3 || RECAP_STOPWORDS.has(w))
|
|
145
|
-
continue;
|
|
146
|
-
freq.set(w, (freq.get(w) ?? 0) + 1);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
return [...freq.entries()].sort((a, b) => b[1] - a[1]).slice(0, n).map(([w]) => w);
|
|
150
|
-
}
|
|
151
|
-
/** First non-empty line, truncated to ~8 words — a cheap topic label. */
|
|
152
|
-
function extractConcept(lines) {
|
|
153
|
-
const first = lines.find(l => l.trim().length > 0)?.trim() ?? '(no content)';
|
|
154
|
-
const words = first.split(/\s+/);
|
|
155
|
-
return words.length > 8 ? words.slice(0, 8).join(' ') + '…' : first;
|
|
156
|
-
}
|
|
136
|
+
/** Separates the (per-call, regenerated) header/hint/digest lines of a recap
|
|
137
|
+
* from its accumulated body of per-turn summary lines. Everything after this
|
|
138
|
+
* marker is append-only across compactions — see extractRecapBodyLines. */
|
|
139
|
+
const HISTORY_MARKER = '--- compacted turns ---';
|
|
157
140
|
/**
|
|
158
|
-
*
|
|
159
|
-
*
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
141
|
+
* Body lines of an existing recap: the accumulated per-turn summaries below
|
|
142
|
+
* HISTORY_MARKER, verbatim. Older recaps written before this marker existed
|
|
143
|
+
* (no marker found) fall back to everything after the header line, so a
|
|
144
|
+
* mid-session upgrade doesn't lose history — but from that point on they
|
|
145
|
+
* gain the marker and become append-only too.
|
|
163
146
|
*/
|
|
164
|
-
function
|
|
165
|
-
const lines = msg.content.split('\n')
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
const terms = extractTopTerms(rest, 5);
|
|
171
|
-
return [
|
|
172
|
-
`Concept: ${concept}`,
|
|
173
|
-
terms.length > 0 ? `Terms: ${terms.join(', ')}` : '',
|
|
174
|
-
lastThread ? `Last thread: ${lastThread}` : '',
|
|
175
|
-
].filter(Boolean).join(' · ');
|
|
147
|
+
function extractRecapBodyLines(msg) {
|
|
148
|
+
const lines = msg.content.split('\n');
|
|
149
|
+
const markerIdx = lines.indexOf(HISTORY_MARKER);
|
|
150
|
+
if (markerIdx !== -1)
|
|
151
|
+
return lines.slice(markerIdx + 1);
|
|
152
|
+
return lines.slice(1).filter(l => l.trim().length > 0);
|
|
176
153
|
}
|
|
177
154
|
function summariseMessage(msg) {
|
|
178
155
|
switch (msg.role) {
|
|
@@ -189,18 +166,16 @@ function summariseMessage(msg) {
|
|
|
189
166
|
}
|
|
190
167
|
}
|
|
191
168
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
// last message is always kept even if it alone busts the budget.
|
|
203
|
-
const retainBudget = Math.floor(window * RETENTION_RATIO);
|
|
169
|
+
/**
|
|
170
|
+
* Index of the first message to keep verbatim: walk backward from the end of
|
|
171
|
+
* `history` accumulating message sizes until the tail would exceed
|
|
172
|
+
* RETENTION_RATIO of the window, then snap to the nearest user-turn start so
|
|
173
|
+
* the kept slice opens with user context and no tool_use/tool_result pair is
|
|
174
|
+
* split. Exported so both the default and tiered compaction strategies size
|
|
175
|
+
* and align their verbatim tail identically (see tiered-context.ts).
|
|
176
|
+
*/
|
|
177
|
+
function computeTailBoundary(history, window) {
|
|
178
|
+
const retainBudget = Math.floor(window * exports.RETENTION_RATIO);
|
|
204
179
|
let acc = 0;
|
|
205
180
|
let keepFrom = history.length;
|
|
206
181
|
for (let i = history.length - 1; i >= 1; i--) {
|
|
@@ -234,21 +209,40 @@ function compactHistory(history, totalTokens, model, extras) {
|
|
|
234
209
|
history[keepFrom].role === 'tool_result')
|
|
235
210
|
keepFrom++;
|
|
236
211
|
}
|
|
212
|
+
return keepFrom;
|
|
213
|
+
}
|
|
214
|
+
function compactHistory(history, totalTokens, model, extras) {
|
|
215
|
+
const generation = getRecapGeneration(history);
|
|
216
|
+
const window = (0, factory_js_1.getContextWindow)(model) ?? exports.DEFAULT_WINDOW;
|
|
217
|
+
const threshold = Math.floor(window * thresholdRatio(generation));
|
|
218
|
+
if (totalTokens < threshold)
|
|
219
|
+
return false;
|
|
220
|
+
if (history.length <= 3)
|
|
221
|
+
return false;
|
|
222
|
+
const keepFrom = computeTailBoundary(history, window);
|
|
237
223
|
const toCompact = history.slice(1, keepFrom);
|
|
238
224
|
if (toCompact.length === 0) {
|
|
239
225
|
// Nothing droppable (the over-budget content IS the recent tail) — the
|
|
240
226
|
// churn guard is the only lever left.
|
|
241
227
|
return truncateOversizedResults(history, threshold);
|
|
242
228
|
}
|
|
243
|
-
|
|
229
|
+
// A prior recap (if any) is always the first entry of toCompact — carry its
|
|
230
|
+
// body forward unchanged; only the messages after it are freshly summarised.
|
|
231
|
+
const priorRecap = toCompact.length > 0 && isRecap(toCompact[0]) ? toCompact[0] : undefined;
|
|
232
|
+
const freshlyCompacted = priorRecap ? toCompact.slice(1) : toCompact;
|
|
233
|
+
const priorBodyLines = priorRecap ? extractRecapBodyLines(priorRecap) : [];
|
|
234
|
+
const newBodyLines = freshlyCompacted.map(summariseMessage);
|
|
235
|
+
const bodyLines = [...priorBodyLines, ...newBodyLines];
|
|
244
236
|
const newGeneration = generation + 1;
|
|
237
|
+
const totalRemoved = (priorRecap ? bodyLines.length : toCompact.length);
|
|
245
238
|
const recap = {
|
|
246
239
|
role: 'assistant',
|
|
247
240
|
content: [
|
|
248
|
-
`${RECAP_MARKER} (gen ${newGeneration}): ${
|
|
241
|
+
`${RECAP_MARKER} (gen ${newGeneration}): ${totalRemoved} turns removed to stay within context limits.]`,
|
|
249
242
|
...(extras?.affectHint ? [extras.affectHint] : []),
|
|
250
243
|
...(extras?.executiveDigest ? ['', extras.executiveDigest, ''] : []),
|
|
251
|
-
|
|
244
|
+
HISTORY_MARKER,
|
|
245
|
+
...bodyLines,
|
|
252
246
|
].join('\n'),
|
|
253
247
|
};
|
|
254
248
|
const preserved = [history[0], recap, ...history.slice(keepFrom)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/agent/compactor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../src/agent/compactor.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/context.d.ts
CHANGED
package/dist/agent/context.js
CHANGED
|
@@ -49,6 +49,7 @@ async function loadProjectContext(cwd) {
|
|
|
49
49
|
language,
|
|
50
50
|
framework,
|
|
51
51
|
readme: readTruncated(root, ['README.md', 'README.txt', 'README.rst'], 2000),
|
|
52
|
+
auraRules: readTruncated(root, ['AURA.md'], 2000, 'AURA.md'),
|
|
52
53
|
tree: buildTree(root),
|
|
53
54
|
config: readConfig(root),
|
|
54
55
|
recentCommits: readGitLog(root),
|
|
@@ -114,7 +115,7 @@ function detectStack(root) {
|
|
|
114
115
|
}
|
|
115
116
|
return { language: 'Unknown', framework: 'Unknown' };
|
|
116
117
|
}
|
|
117
|
-
function readTruncated(root, names, maxChars) {
|
|
118
|
+
function readTruncated(root, names, maxChars, notFoundLabel = 'README') {
|
|
118
119
|
for (const name of names) {
|
|
119
120
|
const p = path.join(root, name);
|
|
120
121
|
if (fs.existsSync(p)) {
|
|
@@ -127,7 +128,7 @@ function readTruncated(root, names, maxChars) {
|
|
|
127
128
|
catch { /* next */ }
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
|
-
return
|
|
131
|
+
return `(no ${notFoundLabel} found)`;
|
|
131
132
|
}
|
|
132
133
|
function buildTree(root) {
|
|
133
134
|
const lines = [path.basename(root) + '/'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agent/context.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/loop.d.ts
CHANGED
|
@@ -59,8 +59,9 @@ export interface TokenUsage {
|
|
|
59
59
|
inputTokens: number;
|
|
60
60
|
outputTokens: number;
|
|
61
61
|
totalTokens: number;
|
|
62
|
+
cachedTokens: number;
|
|
62
63
|
}
|
|
63
|
-
export declare function costFor(model: string, input: number, output: number): number;
|
|
64
|
+
export declare function costFor(model: string, input: number, output: number, cachedTokens?: number): number;
|
|
64
65
|
export declare function runAgentLoop(opts: LoopOptions): Promise<LoopResult>;
|
|
65
66
|
export declare function runAgentLoopVerified(opts: LoopOptions, config: VerificationConfig, projectRoot: string): Promise<{
|
|
66
67
|
loopResult: LoopResult;
|
package/dist/agent/loop.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.costFor = costFor;
|
|
|
37
37
|
exports.runAgentLoop = runAgentLoop;
|
|
38
38
|
exports.runAgentLoopVerified = runAgentLoopVerified;
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
40
41
|
const index_js_1 = require("../tools/index.js");
|
|
41
42
|
const permissions_js_1 = require("../safety/permissions.js");
|
|
42
43
|
const system_prompt_js_1 = require("./system-prompt.js");
|
|
@@ -48,6 +49,7 @@ const defaults_js_1 = require("../config/defaults.js");
|
|
|
48
49
|
const executive_queue_js_1 = require("./executive-queue.js");
|
|
49
50
|
const compactor_js_1 = require("./compactor.js");
|
|
50
51
|
const generational_flush_js_1 = require("./generational-flush.js");
|
|
52
|
+
const tiered_context_js_1 = require("./tiered-context.js");
|
|
51
53
|
const affect_js_1 = require("./affect.js");
|
|
52
54
|
const context_health_js_1 = require("../cli/context-health.js");
|
|
53
55
|
const PRICING_USD_PER_MTOK = {
|
|
@@ -66,10 +68,16 @@ const PRICING_USD_PER_MTOK = {
|
|
|
66
68
|
'mimo-v2.5-pro': { in: 1, out: 4 },
|
|
67
69
|
'mimo-v2.5': { in: 0.5, out: 2 },
|
|
68
70
|
'mimo-v2-flash': { in: 0.1, out: 0.4 },
|
|
71
|
+
// DeepSeek V4 — cache hits billed at 1/10th of standard input rate.
|
|
72
|
+
'deepseek-v4-flash': { in: 0.14, out: 0.28, cachedIn: 0.014 },
|
|
73
|
+
'deepseek-v4-pro': { in: 0.435, out: 0.87, cachedIn: 0.0435 },
|
|
69
74
|
};
|
|
70
|
-
function costFor(model, input, output) {
|
|
75
|
+
function costFor(model, input, output, cachedTokens) {
|
|
71
76
|
const p = PRICING_USD_PER_MTOK[model] ?? PRICING_USD_PER_MTOK[Object.keys(PRICING_USD_PER_MTOK).find(k => model.includes(k.split('-')[1] ?? '') && k.startsWith(model.split('-')[0] ?? '')) ?? ''] ?? { in: 0, out: 0 };
|
|
72
|
-
|
|
77
|
+
const cached = Math.min(cachedTokens ?? 0, input);
|
|
78
|
+
const billable = input - cached;
|
|
79
|
+
const cachedRate = p.cachedIn ?? p.in / 10;
|
|
80
|
+
return (billable / 1_000_000) * p.in + (cached / 1_000_000) * cachedRate + (output / 1_000_000) * p.out;
|
|
73
81
|
}
|
|
74
82
|
async function runAgentLoop(opts) {
|
|
75
83
|
const { provider, task, context, permissions, display } = opts;
|
|
@@ -82,7 +90,7 @@ async function runAgentLoop(opts) {
|
|
|
82
90
|
];
|
|
83
91
|
let turns = 0;
|
|
84
92
|
let toolCallCount = 0;
|
|
85
|
-
const usage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
|
|
93
|
+
const usage = { inputTokens: 0, outputTokens: 0, totalTokens: 0, cachedTokens: 0 };
|
|
86
94
|
if (!opts.disableSpawn) {
|
|
87
95
|
(0, spawner_js_1.registerSpawner)((0, spawner_js_1.makeDefaultSpawner)(context, opts.spawnConfig ?? {}, display));
|
|
88
96
|
}
|
|
@@ -91,6 +99,7 @@ async function runAgentLoop(opts) {
|
|
|
91
99
|
return await runLoopBody({ opts, provider, system, history, profile, pricingModel, display, permissions, turns, toolCallCount, usage });
|
|
92
100
|
}
|
|
93
101
|
finally {
|
|
102
|
+
display.stopThinking?.();
|
|
94
103
|
(0, spawner_js_1.clearSpawner)();
|
|
95
104
|
}
|
|
96
105
|
}
|
|
@@ -146,6 +155,24 @@ async function runLoopBody(args) {
|
|
|
146
155
|
executiveDigest: execQueue.size > 0 ? execQueue.digest() : undefined,
|
|
147
156
|
affectHint: (0, affect_js_1.detectFrustration)(history) ?? undefined,
|
|
148
157
|
};
|
|
158
|
+
if ((0, tiered_context_js_1.isTieredStrategyEnabled)()) {
|
|
159
|
+
// Tiered strategy (ANCHOR + FACT LOG + TAIL) — see tiered-context.ts.
|
|
160
|
+
// No rollover step: the fact log stays lightweight bullets rather
|
|
161
|
+
// than a growing prose recap, so it doesn't need the dream-store
|
|
162
|
+
// flush the default strategy relies on to bound recap size.
|
|
163
|
+
const estimated = (0, compactor_js_1.estimateContextTokens)(system, history);
|
|
164
|
+
const { compacted, metrics } = await (0, tiered_context_js_1.compactHistoryTiered)(history, estimated, provider.model, opts.sessionPath, compactionExtras);
|
|
165
|
+
if (compacted && metrics) {
|
|
166
|
+
health.recordCompaction(metrics.beforeTokens, metrics.afterTokens, metrics.compactionCount);
|
|
167
|
+
display.compactionEvent?.({
|
|
168
|
+
beforeTokens: metrics.beforeTokens, afterTokens: metrics.afterTokens,
|
|
169
|
+
generation: metrics.compactionCount, threshold: metrics.beforeTokens,
|
|
170
|
+
});
|
|
171
|
+
logContextMetrics(opts.context.root, { ...metrics });
|
|
172
|
+
await persist(opts.sessionPath, history);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
else
|
|
149
176
|
// The ladder in compactHistory escalates its own trigger per recap
|
|
150
177
|
// generation; once a recap has been recompacted ROLLOVER_AT_GENERATION
|
|
151
178
|
// times, a further in-place pass would just be lossy recompaction —
|
|
@@ -158,6 +185,7 @@ async function runLoopBody(args) {
|
|
|
158
185
|
const generation = (0, compactor_js_1.getRecapGeneration)(history);
|
|
159
186
|
health.recordCompaction(beforeTokens, afterTokens, generation);
|
|
160
187
|
display.compactionEvent?.({ beforeTokens, afterTokens, generation, threshold: beforeTokens });
|
|
188
|
+
logContextMetrics(opts.context.root, { strategy: 'default-rollover', beforeTokens, afterTokens, generation });
|
|
161
189
|
await persist(opts.sessionPath, history);
|
|
162
190
|
}
|
|
163
191
|
}
|
|
@@ -169,6 +197,7 @@ async function runLoopBody(args) {
|
|
|
169
197
|
const generation = (0, compactor_js_1.getRecapGeneration)(history);
|
|
170
198
|
health.recordCompaction(estimated, afterTokens, generation);
|
|
171
199
|
display.compactionEvent?.({ beforeTokens: estimated, afterTokens, generation, threshold: estimated });
|
|
200
|
+
logContextMetrics(opts.context.root, { strategy: 'default', beforeTokens: estimated, afterTokens, generation });
|
|
172
201
|
await persist(opts.sessionPath, history);
|
|
173
202
|
}
|
|
174
203
|
}
|
|
@@ -202,9 +231,11 @@ async function runLoopBody(args) {
|
|
|
202
231
|
if (u) {
|
|
203
232
|
const inT = u.inputTokens ?? 0;
|
|
204
233
|
const outT = u.outputTokens ?? 0;
|
|
234
|
+
const cachedT = u.cachedTokens ?? 0;
|
|
205
235
|
usage.inputTokens += inT;
|
|
206
236
|
usage.outputTokens += outT;
|
|
207
237
|
usage.totalTokens += inT + outT;
|
|
238
|
+
usage.cachedTokens += cachedT;
|
|
208
239
|
}
|
|
209
240
|
break;
|
|
210
241
|
}
|
|
@@ -217,7 +248,7 @@ async function runLoopBody(args) {
|
|
|
217
248
|
success: false,
|
|
218
249
|
summary: `Provider error on turn ${turns}: ${String(e)}`,
|
|
219
250
|
turns, toolCallCount, usage, history, toolCallLog,
|
|
220
|
-
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens),
|
|
251
|
+
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens, usage.cachedTokens),
|
|
221
252
|
};
|
|
222
253
|
}
|
|
223
254
|
if (responseText)
|
|
@@ -243,7 +274,7 @@ async function runLoopBody(args) {
|
|
|
243
274
|
success: false,
|
|
244
275
|
summary: 'Provider returned empty response after 4 attempts — likely rate-limited or filtered',
|
|
245
276
|
turns, toolCallCount, usage, history, toolCallLog,
|
|
246
|
-
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens),
|
|
277
|
+
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens, usage.cachedTokens),
|
|
247
278
|
};
|
|
248
279
|
}
|
|
249
280
|
if (finalResponse?.stopReason === 'done') {
|
|
@@ -253,7 +284,7 @@ async function runLoopBody(args) {
|
|
|
253
284
|
success: true,
|
|
254
285
|
summary: responseText,
|
|
255
286
|
turns, toolCallCount, usage, history, toolCallLog,
|
|
256
|
-
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens),
|
|
287
|
+
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens, usage.cachedTokens),
|
|
257
288
|
};
|
|
258
289
|
}
|
|
259
290
|
if (finalResponse?.stopReason === 'limit') {
|
|
@@ -356,7 +387,7 @@ async function runLoopBody(args) {
|
|
|
356
387
|
success: false,
|
|
357
388
|
summary: `Loop ${reason}.${resumeHint}`,
|
|
358
389
|
turns, toolCallCount, usage, history, toolCallLog,
|
|
359
|
-
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens),
|
|
390
|
+
costUsd: costFor(pricingModel, usage.inputTokens, usage.outputTokens, usage.cachedTokens),
|
|
360
391
|
};
|
|
361
392
|
}
|
|
362
393
|
async function runAgentLoopVerified(opts, config, projectRoot) {
|
|
@@ -371,6 +402,20 @@ async function persist(path, history) {
|
|
|
371
402
|
}
|
|
372
403
|
catch { /* persistence is best-effort */ }
|
|
373
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* Appends one JSON line per compaction event to <root>/.aura/context-metrics.jsonl,
|
|
407
|
+
* tagged by strategy, so old-vs-new (default vs AURA_CONTEXT_STRATEGY=tiered)
|
|
408
|
+
* runs can be diffed after the fact independent of the live display.
|
|
409
|
+
*/
|
|
410
|
+
function logContextMetrics(root, entry) {
|
|
411
|
+
try {
|
|
412
|
+
const dir = path.join(root, '.aura');
|
|
413
|
+
if (!fs.existsSync(dir))
|
|
414
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
415
|
+
fs.appendFileSync(path.join(dir, 'context-metrics.jsonl'), JSON.stringify({ timestamp: new Date().toISOString(), ...entry }) + '\n');
|
|
416
|
+
}
|
|
417
|
+
catch { /* metrics logging is best-effort */ }
|
|
418
|
+
}
|
|
374
419
|
function formatCallForConfirmation(call) {
|
|
375
420
|
if (call.name === 'run_shell')
|
|
376
421
|
return `$ ${call.input.command}`;
|
package/dist/agent/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/mixture.js
CHANGED
|
@@ -88,7 +88,7 @@ async function runMixtureOfAgents(opts) {
|
|
|
88
88
|
success: false,
|
|
89
89
|
summary: `Perspective failed: ${String(e)}`,
|
|
90
90
|
turns: 0, toolCallCount: 0,
|
|
91
|
-
usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0 },
|
|
91
|
+
usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0, cachedTokens: 0 },
|
|
92
92
|
costUsd: 0, history: [], toolCallLog: [],
|
|
93
93
|
}))));
|
|
94
94
|
runs.forEach((r, i) => {
|
|
@@ -98,7 +98,8 @@ async function runMixtureOfAgents(opts) {
|
|
|
98
98
|
inputTokens: acc.inputTokens + r.usage.inputTokens,
|
|
99
99
|
outputTokens: acc.outputTokens + r.usage.outputTokens,
|
|
100
100
|
totalTokens: acc.totalTokens + r.usage.totalTokens,
|
|
101
|
-
|
|
101
|
+
cachedTokens: acc.cachedTokens + (r.usage.cachedTokens ?? 0),
|
|
102
|
+
}), { inputTokens: 0, outputTokens: 0, totalTokens: 0, cachedTokens: 0 });
|
|
102
103
|
const turns = runs.reduce((n, r) => n + r.turns, 0);
|
|
103
104
|
const toolCallCount = runs.reduce((n, r) => n + r.toolCallCount, 0);
|
|
104
105
|
let costUsd = runs.reduce((c, r) => c + r.costUsd, 0);
|
|
@@ -122,7 +123,8 @@ async function runMixtureOfAgents(opts) {
|
|
|
122
123
|
usage.inputTokens += su.inputTokens ?? 0;
|
|
123
124
|
usage.outputTokens += su.outputTokens ?? 0;
|
|
124
125
|
usage.totalTokens += (su.inputTokens ?? 0) + (su.outputTokens ?? 0);
|
|
125
|
-
|
|
126
|
+
usage.cachedTokens += su.cachedTokens ?? 0;
|
|
127
|
+
costUsd += (0, loop_js_1.costFor)(opts.pricingModel ?? provider.model, su.inputTokens ?? 0, su.outputTokens ?? 0, su.cachedTokens);
|
|
126
128
|
}
|
|
127
129
|
return {
|
|
128
130
|
success: true,
|