agentfootprint 7.16.0 → 7.17.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/dist/conventions.js +8 -6
- package/dist/conventions.js.map +1 -1
- package/dist/core/Agent.js +31 -26
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/AgentBuilder.js +93 -43
- package/dist/core/agent/AgentBuilder.js.map +1 -1
- package/dist/core/agent/buildAgentChart.js +8 -8
- package/dist/core/agent/buildAgentChart.js.map +1 -1
- package/dist/core/agent/buildDynamicAgentChart.js +6 -6
- package/dist/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/core/agent/stages/window.js +141 -0
- package/dist/core/agent/stages/window.js.map +1 -0
- package/dist/core/agent/window/errors.js.map +1 -0
- package/dist/core/agent/window/index.js +36 -0
- package/dist/core/agent/window/index.js.map +1 -0
- package/dist/core/agent/window/notice.js +57 -0
- package/dist/core/agent/window/notice.js.map +1 -0
- package/dist/core/agent/window/options.js +93 -0
- package/dist/core/agent/window/options.js.map +1 -0
- package/dist/core/agent/window/removal.js +45 -0
- package/dist/core/agent/window/removal.js.map +1 -0
- package/dist/core/agent/window/strategies/drop.js +106 -0
- package/dist/core/agent/window/strategies/drop.js.map +1 -0
- package/dist/core/agent/window/strategies/slidingWindow.js +87 -0
- package/dist/core/agent/window/strategies/slidingWindow.js.map +1 -0
- package/dist/core/agent/window/strategies/summarizeOldest.js +178 -0
- package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -0
- package/dist/core/agent/window/strategies/tokenBudget.js +95 -0
- package/dist/core/agent/window/strategies/tokenBudget.js.map +1 -0
- package/dist/core/agent/window/strategy.js +42 -0
- package/dist/core/agent/window/strategy.js.map +1 -0
- package/dist/core/agent/window/summarize.js.map +1 -0
- package/dist/core/agent/{compaction → window}/turns.js +50 -28
- package/dist/core/agent/window/turns.js.map +1 -0
- package/dist/core/agent/window/types.js +23 -0
- package/dist/core/agent/window/types.js.map +1 -0
- package/dist/esm/conventions.d.ts +8 -6
- package/dist/esm/conventions.js +8 -6
- package/dist/esm/conventions.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +6 -6
- package/dist/esm/core/Agent.js +31 -26
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/AgentBuilder.d.ts +60 -4
- package/dist/esm/core/agent/AgentBuilder.js +93 -43
- package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
- package/dist/esm/core/agent/buildAgentChart.d.ts +14 -7
- package/dist/esm/core/agent/buildAgentChart.js +8 -8
- package/dist/esm/core/agent/buildAgentChart.js.map +1 -1
- package/dist/esm/core/agent/buildDynamicAgentChart.js +6 -6
- package/dist/esm/core/agent/buildDynamicAgentChart.js.map +1 -1
- package/dist/esm/core/agent/stages/window.d.ts +63 -0
- package/dist/esm/core/agent/stages/window.js +137 -0
- package/dist/esm/core/agent/stages/window.js.map +1 -0
- package/dist/esm/core/agent/types.d.ts +15 -8
- package/dist/esm/core/agent/window/errors.js.map +1 -0
- package/dist/esm/core/agent/window/index.d.ts +27 -0
- package/dist/esm/core/agent/window/index.js +25 -0
- package/dist/esm/core/agent/window/index.js.map +1 -0
- package/dist/esm/core/agent/window/notice.d.ts +46 -0
- package/dist/esm/core/agent/window/notice.js +52 -0
- package/dist/esm/core/agent/window/notice.js.map +1 -0
- package/dist/esm/core/agent/window/options.d.ts +33 -0
- package/dist/esm/core/agent/window/options.js +87 -0
- package/dist/esm/core/agent/window/options.js.map +1 -0
- package/dist/esm/core/agent/window/removal.d.ts +22 -0
- package/dist/esm/core/agent/window/removal.js +40 -0
- package/dist/esm/core/agent/window/removal.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/drop.d.ts +54 -0
- package/dist/esm/core/agent/window/strategies/drop.js +102 -0
- package/dist/esm/core/agent/window/strategies/drop.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.d.ts +48 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.js +83 -0
- package/dist/esm/core/agent/window/strategies/slidingWindow.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.d.ts +42 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js +174 -0
- package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.d.ts +47 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.js +91 -0
- package/dist/esm/core/agent/window/strategies/tokenBudget.js.map +1 -0
- package/dist/esm/core/agent/window/strategy.d.ts +181 -0
- package/dist/esm/core/agent/window/strategy.js +41 -0
- package/dist/esm/core/agent/window/strategy.js.map +1 -0
- package/dist/esm/core/agent/window/summarize.js.map +1 -0
- package/dist/esm/core/agent/window/turns.d.ts +108 -0
- package/dist/esm/core/agent/{compaction → window}/turns.js +48 -26
- package/dist/esm/core/agent/window/turns.js.map +1 -0
- package/dist/esm/core/agent/window/types.d.ts +263 -0
- package/dist/esm/core/agent/window/types.js +22 -0
- package/dist/esm/core/agent/window/types.js.map +1 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +10 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/recorders/core/CompactionMeter.d.ts +25 -19
- package/dist/esm/recorders/core/CompactionMeter.js +27 -19
- package/dist/esm/recorders/core/CompactionMeter.js.map +1 -1
- package/dist/index.js +17 -7
- package/dist/index.js.map +1 -1
- package/dist/recorders/core/CompactionMeter.js +27 -19
- package/dist/recorders/core/CompactionMeter.js.map +1 -1
- package/dist/types/conventions.d.ts +8 -6
- package/dist/types/conventions.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +6 -6
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/AgentBuilder.d.ts +60 -4
- package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
- package/dist/types/core/agent/buildAgentChart.d.ts +14 -7
- package/dist/types/core/agent/buildAgentChart.d.ts.map +1 -1
- package/dist/types/core/agent/stages/window.d.ts +64 -0
- package/dist/types/core/agent/stages/window.d.ts.map +1 -0
- package/dist/types/core/agent/types.d.ts +15 -8
- package/dist/types/core/agent/types.d.ts.map +1 -1
- package/dist/types/core/agent/window/errors.d.ts.map +1 -0
- package/dist/types/core/agent/window/index.d.ts +28 -0
- package/dist/types/core/agent/window/index.d.ts.map +1 -0
- package/dist/types/core/agent/window/notice.d.ts +47 -0
- package/dist/types/core/agent/window/notice.d.ts.map +1 -0
- package/dist/types/core/agent/window/options.d.ts +34 -0
- package/dist/types/core/agent/window/options.d.ts.map +1 -0
- package/dist/types/core/agent/window/removal.d.ts +23 -0
- package/dist/types/core/agent/window/removal.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/drop.d.ts +55 -0
- package/dist/types/core/agent/window/strategies/drop.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/slidingWindow.d.ts +49 -0
- package/dist/types/core/agent/window/strategies/slidingWindow.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts +43 -0
- package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategies/tokenBudget.d.ts +48 -0
- package/dist/types/core/agent/window/strategies/tokenBudget.d.ts.map +1 -0
- package/dist/types/core/agent/window/strategy.d.ts +182 -0
- package/dist/types/core/agent/window/strategy.d.ts.map +1 -0
- package/dist/types/core/agent/window/summarize.d.ts.map +1 -0
- package/dist/types/core/agent/window/turns.d.ts +109 -0
- package/dist/types/core/agent/window/turns.d.ts.map +1 -0
- package/dist/types/core/agent/window/types.d.ts +264 -0
- package/dist/types/core/agent/window/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/recorders/core/CompactionMeter.d.ts +25 -19
- package/dist/types/recorders/core/CompactionMeter.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/agent/compaction/errors.js.map +0 -1
- package/dist/core/agent/compaction/index.js +0 -24
- package/dist/core/agent/compaction/index.js.map +0 -1
- package/dist/core/agent/compaction/strategy.js +0 -152
- package/dist/core/agent/compaction/strategy.js.map +0 -1
- package/dist/core/agent/compaction/summarize.js.map +0 -1
- package/dist/core/agent/compaction/turns.js.map +0 -1
- package/dist/core/agent/compaction/types.js +0 -21
- package/dist/core/agent/compaction/types.js.map +0 -1
- package/dist/core/agent/stages/compact.js +0 -130
- package/dist/core/agent/stages/compact.js.map +0 -1
- package/dist/esm/core/agent/compaction/errors.js.map +0 -1
- package/dist/esm/core/agent/compaction/index.d.ts +0 -18
- package/dist/esm/core/agent/compaction/index.js +0 -18
- package/dist/esm/core/agent/compaction/index.js.map +0 -1
- package/dist/esm/core/agent/compaction/strategy.d.ts +0 -103
- package/dist/esm/core/agent/compaction/strategy.js +0 -148
- package/dist/esm/core/agent/compaction/strategy.js.map +0 -1
- package/dist/esm/core/agent/compaction/summarize.js.map +0 -1
- package/dist/esm/core/agent/compaction/turns.d.ts +0 -85
- package/dist/esm/core/agent/compaction/turns.js.map +0 -1
- package/dist/esm/core/agent/compaction/types.d.ts +0 -148
- package/dist/esm/core/agent/compaction/types.js +0 -20
- package/dist/esm/core/agent/compaction/types.js.map +0 -1
- package/dist/esm/core/agent/stages/compact.d.ts +0 -59
- package/dist/esm/core/agent/stages/compact.js +0 -126
- package/dist/esm/core/agent/stages/compact.js.map +0 -1
- package/dist/types/core/agent/compaction/errors.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/index.d.ts +0 -19
- package/dist/types/core/agent/compaction/index.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/strategy.d.ts +0 -104
- package/dist/types/core/agent/compaction/strategy.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/summarize.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/turns.d.ts +0 -86
- package/dist/types/core/agent/compaction/turns.d.ts.map +0 -1
- package/dist/types/core/agent/compaction/types.d.ts +0 -149
- package/dist/types/core/agent/compaction/types.d.ts.map +0 -1
- package/dist/types/core/agent/stages/compact.d.ts +0 -60
- package/dist/types/core/agent/stages/compact.d.ts.map +0 -1
- /package/dist/core/agent/{compaction → window}/errors.js +0 -0
- /package/dist/core/agent/{compaction → window}/summarize.js +0 -0
- /package/dist/esm/core/agent/{compaction → window}/errors.d.ts +0 -0
- /package/dist/esm/core/agent/{compaction → window}/errors.js +0 -0
- /package/dist/esm/core/agent/{compaction → window}/summarize.d.ts +0 -0
- /package/dist/esm/core/agent/{compaction → window}/summarize.js +0 -0
- /package/dist/types/core/agent/{compaction → window}/errors.d.ts +0 -0
- /package/dist/types/core/agent/{compaction → window}/summarize.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buildDynamicAgentChart.js","sourceRoot":"","sources":["../../../src/core/agent/buildDynamicAgentChart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window — the loop-head stage that applies the agent's window strategy.
|
|
4
|
+
*
|
|
5
|
+
* Runs once per ReAct iteration boundary, as the loop target, so everything
|
|
6
|
+
* downstream in the turn — the injection engine's triggers, all three context
|
|
7
|
+
* slots, and the wire itself — sees ONE window. No component gets a different
|
|
8
|
+
* past than the model does.
|
|
9
|
+
*
|
|
10
|
+
* The law: **it edits the window, never the ledger.** The turns a strategy
|
|
11
|
+
* removes were committed by `seed#0` / `tool-calls#N` before this stage ran
|
|
12
|
+
* and stay in those bundles byte-identical; footprintjs's commit log is
|
|
13
|
+
* append-only, so a removal cannot erase history even in principle. What it
|
|
14
|
+
* can do is stop re-sending it — and say so, in its own commit, naming every
|
|
15
|
+
* runtimeStageId whose messages left. A compacted (or trimmed) run is still a
|
|
16
|
+
* provable run.
|
|
17
|
+
*
|
|
18
|
+
* This file is deliberately all WIRING. The decision — what the window should
|
|
19
|
+
* become — lives behind `WindowStrategy` (window/strategy.ts, public since
|
|
20
|
+
* 7.17), so the duty to record, emit and cost what happened stays in exactly
|
|
21
|
+
* one place instead of being re-implemented per strategy. The TRIGGER lives
|
|
22
|
+
* in the strategy too: `plan()` is called at every boundary and answers
|
|
23
|
+
* `undefined` when it did not engage, which is what lets `slidingWindow`
|
|
24
|
+
* trigger on turn count while the token-triggered strategies refuse by name
|
|
25
|
+
* on a provider that reports no usage.
|
|
26
|
+
*
|
|
27
|
+
* Emits (existing vocabulary only — no new event types):
|
|
28
|
+
* agentfootprint.context.evicted — one per message leaving the window
|
|
29
|
+
* agentfootprint.context.budget_pressure — one per visit that HAS a budget
|
|
30
|
+
* (omitted by strategies that do
|
|
31
|
+
* not, rather than reporting a cap
|
|
32
|
+
* nobody configured)
|
|
33
|
+
* agentfootprint.cost.tick — when a pricingTable is set: a
|
|
34
|
+
* summarizer call is a real billed
|
|
35
|
+
* call and counts
|
|
36
|
+
*
|
|
37
|
+
* A summarizer call is deliberately NOT bracketed with `stream.llm_start` /
|
|
38
|
+
* `llm_end`: those carry an `iteration` and every consumer pairs them by it,
|
|
39
|
+
* so a second bracket inside one iteration would corrupt the pairing. Its
|
|
40
|
+
* cost rides the cost channel and its tokens are recorded in the commit.
|
|
41
|
+
*/
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.buildWindowStage = void 0;
|
|
44
|
+
const typedEmit_js_1 = require("../../../recorders/core/typedEmit.js");
|
|
45
|
+
const helpers_js_1 = require("../../slots/helpers.js");
|
|
46
|
+
const cost_js_1 = require("../../cost.js");
|
|
47
|
+
const removal_js_1 = require("../window/removal.js");
|
|
48
|
+
const turns_js_1 = require("../window/turns.js");
|
|
49
|
+
/** Build the window stage. */
|
|
50
|
+
function buildWindowStage(deps) {
|
|
51
|
+
const { strategy, meter } = deps;
|
|
52
|
+
const now = deps.now ?? (() => Date.now());
|
|
53
|
+
// Dedup latch for a strategy's warning: a summarizer that is down is down
|
|
54
|
+
// for the whole run, and one warning is a warning while ten is noise.
|
|
55
|
+
let warned = false;
|
|
56
|
+
return async (scope) => {
|
|
57
|
+
// Read the window every iteration. The strategy owns its own trigger, so
|
|
58
|
+
// the stage cannot know whether this iteration matters until it asks —
|
|
59
|
+
// which means the reads channel now records a read of `history` on
|
|
60
|
+
// iterations that change nothing. That read genuinely happens; the
|
|
61
|
+
// request bytes are untouched.
|
|
62
|
+
const history = (scope.history ?? []).slice();
|
|
63
|
+
const turns = (0, turns_js_1.segmentTurns)(history);
|
|
64
|
+
const metered = meter.lastCall();
|
|
65
|
+
const origins = meter.origins();
|
|
66
|
+
const pausedToolCallId = scope.pausedToolCallId;
|
|
67
|
+
const guards = {
|
|
68
|
+
answeredCallIds: (0, turns_js_1.answeredCallIds)(history),
|
|
69
|
+
...(pausedToolCallId !== undefined && { pausedToolCallId }),
|
|
70
|
+
...(scope.pausedCheckIn === true && { pausedCheckIn: true }),
|
|
71
|
+
};
|
|
72
|
+
const result = await strategy.plan({
|
|
73
|
+
history,
|
|
74
|
+
turns,
|
|
75
|
+
measured: metered === undefined ? undefined : { input: metered.input, output: metered.output },
|
|
76
|
+
iteration: scope.iteration ?? 1,
|
|
77
|
+
agentModel: deps.agentModel,
|
|
78
|
+
providerName: deps.providerName,
|
|
79
|
+
signal: scope.$getEnv?.()?.signal,
|
|
80
|
+
now,
|
|
81
|
+
// The refusal engine, bound. A strategy cannot skip it: it never
|
|
82
|
+
// receives the guards, only the answer.
|
|
83
|
+
planRemoval: (keepRecentTurns, isExistingSummary) => (0, turns_js_1.planRemoval)(turns, keepRecentTurns, guards, isExistingSummary),
|
|
84
|
+
removalFacts: (indices, atMs) => (0, removal_js_1.removalFacts)(origins, indices, atMs),
|
|
85
|
+
});
|
|
86
|
+
// `undefined` = this strategy did not engage this iteration. Nothing to
|
|
87
|
+
// apply, nothing to record — the ledger tracks what a strategy DID.
|
|
88
|
+
if (result === undefined)
|
|
89
|
+
return;
|
|
90
|
+
// ── Apply. The stage owns every side effect. ─────────────────────
|
|
91
|
+
if (result.window !== undefined && result.rebase !== undefined) {
|
|
92
|
+
// Tell the meter before writing: the shape change is the one thing it
|
|
93
|
+
// cannot infer (the set trap JSON-round-trips every write).
|
|
94
|
+
meter.rebaseForWindowChange(result.rebase.headCount, result.rebase.keptTailCount, result.rebase.insertedAtMs);
|
|
95
|
+
scope.history = result.window;
|
|
96
|
+
}
|
|
97
|
+
const prior = scope.compactions ?? [];
|
|
98
|
+
scope.compactions = [...prior, result.record];
|
|
99
|
+
// One eviction per message that left, in the slot vocabulary consumers
|
|
100
|
+
// already subscribe to. The hash uses the SAME formula the messages slot
|
|
101
|
+
// used to report the piece as injected, so evicted and injected refer to
|
|
102
|
+
// the same piece by the same name.
|
|
103
|
+
for (const eviction of result.evictions) {
|
|
104
|
+
const msg = history[eviction.index];
|
|
105
|
+
if (msg === undefined)
|
|
106
|
+
continue;
|
|
107
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.context.evicted', {
|
|
108
|
+
slot: 'messages',
|
|
109
|
+
contentHash: (0, helpers_js_1.fnv1a)(`${msg.role}:${eviction.index}:${msg.content}`),
|
|
110
|
+
reason: 'budget',
|
|
111
|
+
survivalMs: eviction.survivalMs,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// `capTokens` / `projectedTokens` are the historical names on
|
|
115
|
+
// `BudgetPressureRecord`; the slots measure them in chars, and this
|
|
116
|
+
// measures them in the tokens the decision was actually made on. A
|
|
117
|
+
// strategy with no token budget omits this entirely rather than report a
|
|
118
|
+
// cap nobody set.
|
|
119
|
+
if (result.budgetPressure !== undefined) {
|
|
120
|
+
const { capTokens, projectedTokens, planAction } = result.budgetPressure;
|
|
121
|
+
(0, typedEmit_js_1.typedEmit)(scope, 'agentfootprint.context.budget_pressure', {
|
|
122
|
+
slot: 'messages',
|
|
123
|
+
capTokens,
|
|
124
|
+
projectedTokens,
|
|
125
|
+
overflowBy: Math.max(0, projectedTokens - capTokens),
|
|
126
|
+
planAction,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
// A summarizer call is real money. It counts against the same budget.
|
|
130
|
+
if (result.spend !== undefined) {
|
|
131
|
+
(0, cost_js_1.emitCostTick)(scope, deps.pricingTable, deps.costBudget, result.spend.model, result.spend.usage);
|
|
132
|
+
}
|
|
133
|
+
if (result.warning !== undefined && !warned) {
|
|
134
|
+
warned = true;
|
|
135
|
+
// eslint-disable-next-line no-console
|
|
136
|
+
console.warn(`[agentfootprint window:${strategy.name}] ${result.warning}`);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
exports.buildWindowStage = buildWindowStage;
|
|
141
|
+
//# sourceMappingURL=window.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../../../src/core/agent/stages/window.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/agent/window/errors.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH;;;;;;;;;;;;GAYG;AACH,MAAa,2BAA4B,SAAQ,KAAK;IAClC,IAAI,GAAG,6BAA6B,CAAC;IACvD,4DAA4D;IACnD,QAAQ,CAAS;IAE1B,YAAY,QAAgB;QAC1B,KAAK,CACH,iDAAiD,QAAQ,kCAAkC;YACzF,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,0FAA0F;YAC1F,oFAAoF;YACpF,YAAY,CACf,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAjBD,kEAiBC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window — the window-strategy family: keep the live context window inside
|
|
4
|
+
* its budget without ever losing the record.
|
|
5
|
+
*
|
|
6
|
+
* The one sentence: **a window strategy edits the WINDOW, never the LEDGER.**
|
|
7
|
+
* Removed turns stay in the commit log verbatim; the strategy files its own
|
|
8
|
+
* recorded step naming every `runtimeStageId` whose messages left. A summary
|
|
9
|
+
* is a claim about the past, so this library files it as a claim — not as the
|
|
10
|
+
* past. A drop is an absence, and it is named the same way.
|
|
11
|
+
*
|
|
12
|
+
* Three strategies ship, all sharing one turn segmentation and one refusal
|
|
13
|
+
* engine:
|
|
14
|
+
* `summarizeOldest` fold the oldest span into a summary (`.compaction()`)
|
|
15
|
+
* `slidingWindow` keep the last N turns, drop older ones
|
|
16
|
+
* `tokenBudget` counted-token trigger, drop instead of summarize
|
|
17
|
+
*
|
|
18
|
+
* Public surface (re-exported from the package root).
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.tokenBudget = exports.slidingWindow = exports.summarizeOldest = exports.isDropNotice = exports.DROP_NOTICE_PREFIX = exports.isCompactedSummary = exports.COMPACTED_FRAME_PREFIX = exports.CompactionUnmeasurableError = void 0;
|
|
22
|
+
var errors_js_1 = require("./errors.js");
|
|
23
|
+
Object.defineProperty(exports, "CompactionUnmeasurableError", { enumerable: true, get: function () { return errors_js_1.CompactionUnmeasurableError; } });
|
|
24
|
+
var summarize_js_1 = require("./summarize.js");
|
|
25
|
+
Object.defineProperty(exports, "COMPACTED_FRAME_PREFIX", { enumerable: true, get: function () { return summarize_js_1.COMPACTED_FRAME_PREFIX; } });
|
|
26
|
+
Object.defineProperty(exports, "isCompactedSummary", { enumerable: true, get: function () { return summarize_js_1.isCompactedSummary; } });
|
|
27
|
+
var notice_js_1 = require("./notice.js");
|
|
28
|
+
Object.defineProperty(exports, "DROP_NOTICE_PREFIX", { enumerable: true, get: function () { return notice_js_1.DROP_NOTICE_PREFIX; } });
|
|
29
|
+
Object.defineProperty(exports, "isDropNotice", { enumerable: true, get: function () { return notice_js_1.isDropNotice; } });
|
|
30
|
+
var summarizeOldest_js_1 = require("./strategies/summarizeOldest.js");
|
|
31
|
+
Object.defineProperty(exports, "summarizeOldest", { enumerable: true, get: function () { return summarizeOldest_js_1.summarizeOldest; } });
|
|
32
|
+
var slidingWindow_js_1 = require("./strategies/slidingWindow.js");
|
|
33
|
+
Object.defineProperty(exports, "slidingWindow", { enumerable: true, get: function () { return slidingWindow_js_1.slidingWindow; } });
|
|
34
|
+
var tokenBudget_js_1 = require("./strategies/tokenBudget.js");
|
|
35
|
+
Object.defineProperty(exports, "tokenBudget", { enumerable: true, get: function () { return tokenBudget_js_1.tokenBudget; } });
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/agent/window/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAEH,yCAA0D;AAAjD,wHAAA,2BAA2B,OAAA;AAuBpC,+CAA4E;AAAnE,sHAAA,sBAAsB,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACnD,yCAA+D;AAAtD,+GAAA,kBAAkB,OAAA;AAAE,yGAAA,YAAY,OAAA;AACzC,sEAAkE;AAAzD,qHAAA,eAAe,OAAA;AACxB,kEAA8D;AAArD,iHAAA,aAAa,OAAA;AACtB,8DAA0D;AAAjD,6GAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window/notice — the authored message a DROP leaves behind, and why it has
|
|
4
|
+
* to exist at all.
|
|
5
|
+
*
|
|
6
|
+
* Pattern: Authored envelope with no untrusted payload whatsoever.
|
|
7
|
+
* Role: core/ layer. Shared by both drop strategies.
|
|
8
|
+
* Emits: N/A.
|
|
9
|
+
*
|
|
10
|
+
* The first reason for this message is the WIRE, not the prose. An agent
|
|
11
|
+
* window looks like `user, assistant+tool, assistant+tool, …`, so dropping
|
|
12
|
+
* the oldest turns leaves an ASSISTANT message at the head — and the
|
|
13
|
+
* providers that care (Anthropic) require the window to open on a user turn.
|
|
14
|
+
* A silent drop of the window's head therefore produces a request the vendor
|
|
15
|
+
* rejects. Something must occupy that position.
|
|
16
|
+
*
|
|
17
|
+
* Given that we have to author a message there anyway, it should say what
|
|
18
|
+
* happened rather than be filler. So it does: how many messages left, at
|
|
19
|
+
* which iteration, by which strategy, and where they still are. Unlike the
|
|
20
|
+
* compaction frame there is no model output involved at ALL — every character
|
|
21
|
+
* below is written by this library, which is why a drop has no prompt-
|
|
22
|
+
* injection surface to speak of.
|
|
23
|
+
*
|
|
24
|
+
* It appears ONLY when the removal reaches the window's head. A removal in
|
|
25
|
+
* the middle leaves the original opening turn in place, so there is no wire
|
|
26
|
+
* problem to solve — and splicing a lone `user` message between two assistant
|
|
27
|
+
* turns is its own risk. The ledger names that removal either way.
|
|
28
|
+
*
|
|
29
|
+
* It does not accumulate: the notice is an ordinary oldest turn next time
|
|
30
|
+
* round, so the next drop absorbs it and files a fresh one.
|
|
31
|
+
*/
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.isDropNotice = exports.buildDropNotice = exports.DROP_NOTICE_PREFIX = void 0;
|
|
34
|
+
/** Opening of the authored notice. Stable — tests and readers match on it. */
|
|
35
|
+
exports.DROP_NOTICE_PREFIX = '[dropped history';
|
|
36
|
+
/**
|
|
37
|
+
* Build the message that takes the head position after a drop.
|
|
38
|
+
*
|
|
39
|
+
* `role: 'user'` for the same reason the compaction frame is: it is the head
|
|
40
|
+
* of the window, and the head of the window must be a user turn.
|
|
41
|
+
*/
|
|
42
|
+
function buildDropNotice(facts) {
|
|
43
|
+
return {
|
|
44
|
+
role: 'user',
|
|
45
|
+
content: `${exports.DROP_NOTICE_PREFIX} — ${facts.droppedMessageCount} earlier message(s) were dropped ` +
|
|
46
|
+
`from this window at iteration ${facts.iteration} by the '${facts.strategy}' window ` +
|
|
47
|
+
`strategy. Nothing was summarized: those turns are simply not being re-sent. They are ` +
|
|
48
|
+
`retained verbatim in this run's commit log.]`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
exports.buildDropNotice = buildDropNotice;
|
|
52
|
+
/** True when this message is a notice a previous drop wrote. */
|
|
53
|
+
function isDropNotice(msg) {
|
|
54
|
+
return msg !== undefined && msg.role === 'user' && msg.content.startsWith(exports.DROP_NOTICE_PREFIX);
|
|
55
|
+
}
|
|
56
|
+
exports.isDropNotice = isDropNotice;
|
|
57
|
+
//# sourceMappingURL=notice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notice.js","sourceRoot":"","sources":["../../../../src/core/agent/window/notice.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAIH,8EAA8E;AACjE,QAAA,kBAAkB,GAAG,kBAAkB,CAAC;AAErD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,KAI/B;IACC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,GAAG,0BAAkB,MAAM,KAAK,CAAC,mBAAmB,mCAAmC;YACvF,iCAAiC,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,QAAQ,WAAW;YACrF,uFAAuF;YACvF,8CAA8C;KACjD,CAAC;AACJ,CAAC;AAbD,0CAaC;AAED,gEAAgE;AAChE,SAAgB,YAAY,CAAC,GAA2B;IACtD,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,0BAAkB,CAAC,CAAC;AAChG,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window/options — validate a window strategy's options ONCE, at build time.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Guard functions returning a resolved config.
|
|
6
|
+
* Role: core/ layer. Every message here takes a `label`, because the same
|
|
7
|
+
* option bag arrives through two doors — `.compaction({...})` and
|
|
8
|
+
* `summarizeOldest({...})` — and an error should name the door the
|
|
9
|
+
* caller actually used. One implementation, so the two doors can
|
|
10
|
+
* never drift into validating differently.
|
|
11
|
+
* Emits: N/A.
|
|
12
|
+
*
|
|
13
|
+
* Everything fails at `.build()`, never mid-run. A window policy that turns
|
|
14
|
+
* out to be nonsense on iteration 40 of a paid run is a policy that cost you
|
|
15
|
+
* money to discover.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.resolveTokenBudgetOptions = exports.resolveSlidingWindowOptions = exports.resolveCompactionOptions = exports.DEFAULT_KEEP_RECENT_TURNS = void 0;
|
|
19
|
+
/** Default depth of the "never touch this" recent window. */
|
|
20
|
+
exports.DEFAULT_KEEP_RECENT_TURNS = 6;
|
|
21
|
+
function requireObject(options, label, shape) {
|
|
22
|
+
if (options === null || typeof options !== 'object') {
|
|
23
|
+
throw new Error(`${label}: expected an options object (${shape}), got ${typeof options}.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function requireThreshold(thresholdTokens, label) {
|
|
27
|
+
if (typeof thresholdTokens !== 'number' ||
|
|
28
|
+
!Number.isFinite(thresholdTokens) ||
|
|
29
|
+
thresholdTokens <= 0) {
|
|
30
|
+
throw new Error(`${label}: thresholdTokens must be a positive number of tokens, got ` +
|
|
31
|
+
`${String(thresholdTokens)}. There is no default: the right budget depends on your ` +
|
|
32
|
+
`model and your bill, and a number this library invented would be inherited silently ` +
|
|
33
|
+
`by every run.`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function requireKeepRecentTurns(keepRecentTurns, label) {
|
|
37
|
+
if (!Number.isInteger(keepRecentTurns) || keepRecentTurns < 1) {
|
|
38
|
+
throw new Error(`${label}: keepRecentTurns must be an integer >= 1, got ${String(keepRecentTurns)}. ` +
|
|
39
|
+
`Keeping zero recent turns would remove the turn the model is reasoning over right now.`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate `.compaction()` / `summarizeOldest()` options.
|
|
44
|
+
*
|
|
45
|
+
* @param label the door being used, so the error names it
|
|
46
|
+
*/
|
|
47
|
+
function resolveCompactionOptions(options, label) {
|
|
48
|
+
requireObject(options, label, '{ thresholdTokens, summarizer, ... }');
|
|
49
|
+
const { thresholdTokens, summarizer, keepRecentTurns, model } = options;
|
|
50
|
+
requireThreshold(thresholdTokens, label);
|
|
51
|
+
if (summarizer === null ||
|
|
52
|
+
typeof summarizer !== 'object' ||
|
|
53
|
+
typeof summarizer.complete !== 'function') {
|
|
54
|
+
throw new Error(`${label}: summarizer must be an LLMProvider (an object with a ` +
|
|
55
|
+
'complete() method). It is explicit on purpose — the library will not quietly bill ' +
|
|
56
|
+
'your main model for compaction. Pass a cheap provider/model here.');
|
|
57
|
+
}
|
|
58
|
+
if (keepRecentTurns !== undefined)
|
|
59
|
+
requireKeepRecentTurns(keepRecentTurns, label);
|
|
60
|
+
if (model !== undefined && (typeof model !== 'string' || model.length === 0)) {
|
|
61
|
+
throw new Error(`${label}: model must be a non-empty model id, got ${String(model)}.`);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
thresholdTokens,
|
|
65
|
+
keepRecentTurns: keepRecentTurns ?? exports.DEFAULT_KEEP_RECENT_TURNS,
|
|
66
|
+
summarizer,
|
|
67
|
+
model,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
exports.resolveCompactionOptions = resolveCompactionOptions;
|
|
71
|
+
/** Validate `slidingWindow()` options. */
|
|
72
|
+
function resolveSlidingWindowOptions(options, label) {
|
|
73
|
+
requireObject(options, label, '{ keepRecentTurns }');
|
|
74
|
+
const { keepRecentTurns } = options;
|
|
75
|
+
if (keepRecentTurns === undefined) {
|
|
76
|
+
throw new Error(`${label}: keepRecentTurns is required and has no default. It IS the policy — how much ` +
|
|
77
|
+
`past your agent needs is a fact about your agent, not about this library.`);
|
|
78
|
+
}
|
|
79
|
+
requireKeepRecentTurns(keepRecentTurns, label);
|
|
80
|
+
return { keepRecentTurns };
|
|
81
|
+
}
|
|
82
|
+
exports.resolveSlidingWindowOptions = resolveSlidingWindowOptions;
|
|
83
|
+
/** Validate `tokenBudget()` options. */
|
|
84
|
+
function resolveTokenBudgetOptions(options, label) {
|
|
85
|
+
requireObject(options, label, '{ thresholdTokens, keepRecentTurns? }');
|
|
86
|
+
const { thresholdTokens, keepRecentTurns } = options;
|
|
87
|
+
requireThreshold(thresholdTokens, label);
|
|
88
|
+
if (keepRecentTurns !== undefined)
|
|
89
|
+
requireKeepRecentTurns(keepRecentTurns, label);
|
|
90
|
+
return { thresholdTokens, keepRecentTurns: keepRecentTurns ?? exports.DEFAULT_KEEP_RECENT_TURNS };
|
|
91
|
+
}
|
|
92
|
+
exports.resolveTokenBudgetOptions = resolveTokenBudgetOptions;
|
|
93
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/core/agent/window/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window/removal — "these messages left" → the facts the ledger needs.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: Pure function over the meter's provenance.
|
|
6
|
+
* Role: core/ layer. The stage binds this into every
|
|
7
|
+
* `WindowStrategyInput.removalFacts`, so a strategy can name what it
|
|
8
|
+
* removed without ever touching the meter — and cannot file a
|
|
9
|
+
* removal it is unable to name.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.indexRange = exports.removalFacts = void 0;
|
|
14
|
+
/**
|
|
15
|
+
* Resolve which stages wrote the removed messages, and how long each lived.
|
|
16
|
+
*
|
|
17
|
+
* `survivalMs` is measured (`atMs - bornAtMs`), and is 0 — not a guess — when
|
|
18
|
+
* a message's birth is unknown, which happens only for a window seeded from
|
|
19
|
+
* outside this run.
|
|
20
|
+
*/
|
|
21
|
+
function removalFacts(origins, indices, atMs) {
|
|
22
|
+
const removedStageIds = [];
|
|
23
|
+
const evictions = [];
|
|
24
|
+
for (const index of indices) {
|
|
25
|
+
const origin = origins[index];
|
|
26
|
+
if (origin !== undefined && !removedStageIds.includes(origin.stageId)) {
|
|
27
|
+
removedStageIds.push(origin.stageId);
|
|
28
|
+
}
|
|
29
|
+
evictions.push({
|
|
30
|
+
index,
|
|
31
|
+
survivalMs: origin === undefined ? 0 : Math.max(0, atMs - origin.bornAtMs),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return { removedStageIds, evictions };
|
|
35
|
+
}
|
|
36
|
+
exports.removalFacts = removalFacts;
|
|
37
|
+
/** `[from, toExclusive)` as a list of indices. */
|
|
38
|
+
function indexRange(from, toExclusive) {
|
|
39
|
+
const out = [];
|
|
40
|
+
for (let i = from; i < toExclusive; i++)
|
|
41
|
+
out.push(i);
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
exports.indexRange = indexRange;
|
|
45
|
+
//# sourceMappingURL=removal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removal.js","sourceRoot":"","sources":["../../../../src/core/agent/window/removal.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAKH;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,OAAiC,EACjC,OAA0B,EAC1B,IAAY;IAEZ,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,KAAK;YACL,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC;AACxC,CAAC;AAlBD,oCAkBC;AAED,kDAAkD;AAClD,SAAgB,UAAU,CAAC,IAAY,EAAE,WAAmB;IAC1D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,GAAG,CAAC;AACb,CAAC;AAJD,gCAIC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* window/strategies/drop — the mechanic both drop strategies share.
|
|
4
|
+
*
|
|
5
|
+
* Pattern: One pure function over a `WindowStrategyInput`.
|
|
6
|
+
* Role: core/ layer. `slidingWindow` and `tokenBudget` differ ONLY in when
|
|
7
|
+
* they engage and what they file; what actually leaves the window is
|
|
8
|
+
* decided here, once, so a refusal reason means the same thing under
|
|
9
|
+
* both — and under compaction, which asks the same `planRemoval`.
|
|
10
|
+
* Emits: N/A.
|
|
11
|
+
*
|
|
12
|
+
* A drop makes no LLM call and writes no summary. What it must still do is
|
|
13
|
+
* keep the request valid and keep the record honest:
|
|
14
|
+
*
|
|
15
|
+
* • the span comes from the shared refusal engine, so an unanswered tool
|
|
16
|
+
* call, the paused tool, a pending check-in and the recent turns never
|
|
17
|
+
* leave, and each refusal is named;
|
|
18
|
+
* • when the span reaches the window's HEAD, an authored notice takes that
|
|
19
|
+
* position — the window must open on a user turn (see notice.ts), and a
|
|
20
|
+
* message we are forced to author should tell the truth;
|
|
21
|
+
* • when it does not, nothing is inserted: the original opening turn is
|
|
22
|
+
* still there, so there is no wire problem to solve.
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.dropOldestSpan = void 0;
|
|
26
|
+
const notice_js_1 = require("../notice.js");
|
|
27
|
+
const removal_js_1 = require("../removal.js");
|
|
28
|
+
const turns_js_1 = require("../turns.js");
|
|
29
|
+
/**
|
|
30
|
+
* Drop the oldest contiguous removable span, if there is one.
|
|
31
|
+
*
|
|
32
|
+
* @param input the strategy's input, with the bound refusal engine
|
|
33
|
+
* @param keepRecentTurns how many trailing turns are off-limits
|
|
34
|
+
* @param strategyName named in the authored notice, so a reader of the
|
|
35
|
+
* window itself can tell which policy removed things
|
|
36
|
+
*/
|
|
37
|
+
function dropOldestSpan(input, keepRecentTurns, strategyName) {
|
|
38
|
+
const { history, turns, iteration } = input;
|
|
39
|
+
const charsBefore = (0, turns_js_1.windowChars)(history);
|
|
40
|
+
const nothing = (refusals) => ({
|
|
41
|
+
refusals,
|
|
42
|
+
removedStageIds: [],
|
|
43
|
+
removedMessageCount: 0,
|
|
44
|
+
evictions: [],
|
|
45
|
+
windowCharsBefore: charsBefore,
|
|
46
|
+
windowCharsAfter: charsBefore,
|
|
47
|
+
turnsBefore: turns.length,
|
|
48
|
+
turnsAfter: turns.length,
|
|
49
|
+
});
|
|
50
|
+
// No `isExistingSummary` predicate: that refusal exists to stop a strategy
|
|
51
|
+
// spending an LLM call to re-summarize a summary. A drop spends nothing, so
|
|
52
|
+
// there is nothing to protect against — a stale summary is as droppable as
|
|
53
|
+
// any other old turn.
|
|
54
|
+
const plan = input.planRemoval(keepRecentTurns);
|
|
55
|
+
if (plan.from === -1)
|
|
56
|
+
return nothing(plan.refusals);
|
|
57
|
+
const spanStart = turns[plan.from].start;
|
|
58
|
+
const spanEnd = turns[plan.to].start + turns[plan.to].length;
|
|
59
|
+
const head = history.slice(0, spanStart);
|
|
60
|
+
const span = history.slice(spanStart, spanEnd);
|
|
61
|
+
const tail = history.slice(spanEnd);
|
|
62
|
+
let window;
|
|
63
|
+
let insertedAtMs;
|
|
64
|
+
const droppedAtMs = input.now();
|
|
65
|
+
if (spanStart === 0) {
|
|
66
|
+
// The head is leaving: something must open the window, and it must be a
|
|
67
|
+
// user turn. Author the notice — and refuse the whole drop if that notice
|
|
68
|
+
// would not be smaller than what it replaces, because dropping two tiny
|
|
69
|
+
// turns to insert a longer notice is pure loss.
|
|
70
|
+
const notice = (0, notice_js_1.buildDropNotice)({
|
|
71
|
+
droppedMessageCount: span.length,
|
|
72
|
+
iteration,
|
|
73
|
+
strategy: strategyName,
|
|
74
|
+
});
|
|
75
|
+
if (notice.content.length >= (0, turns_js_1.windowChars)(span)) {
|
|
76
|
+
return nothing([
|
|
77
|
+
{ reason: 'summary-not-smaller', turnIndex: plan.from, messageIndex: spanStart },
|
|
78
|
+
...plan.refusals,
|
|
79
|
+
]);
|
|
80
|
+
}
|
|
81
|
+
window = [notice, ...tail];
|
|
82
|
+
insertedAtMs = droppedAtMs;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
window = [...head, ...tail];
|
|
86
|
+
}
|
|
87
|
+
const facts = input.removalFacts((0, removal_js_1.indexRange)(spanStart, spanEnd), droppedAtMs);
|
|
88
|
+
return {
|
|
89
|
+
refusals: plan.refusals,
|
|
90
|
+
window,
|
|
91
|
+
rebase: {
|
|
92
|
+
headCount: head.length,
|
|
93
|
+
keptTailCount: tail.length,
|
|
94
|
+
...(insertedAtMs !== undefined && { insertedAtMs }),
|
|
95
|
+
},
|
|
96
|
+
removedStageIds: facts.removedStageIds,
|
|
97
|
+
removedMessageCount: span.length,
|
|
98
|
+
evictions: facts.evictions,
|
|
99
|
+
windowCharsBefore: charsBefore,
|
|
100
|
+
windowCharsAfter: (0, turns_js_1.windowChars)(window),
|
|
101
|
+
turnsBefore: turns.length,
|
|
102
|
+
turnsAfter: (0, turns_js_1.segmentTurns)(window).length,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
exports.dropOldestSpan = dropOldestSpan;
|
|
106
|
+
//# sourceMappingURL=drop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../../../src/core/agent/window/strategies/drop.ts"],"names":[],"mappings":"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"}
|