@strands-agents/sdk 1.15.0 → 1.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/README.md +1 -1
- package/dist/src/agent/agent.d.ts +4 -0
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +66 -16
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/background-tasks/background-tasks.d.ts +41 -0
- package/dist/src/background-tasks/background-tasks.d.ts.map +1 -0
- package/dist/src/background-tasks/background-tasks.js +402 -0
- package/dist/src/background-tasks/background-tasks.js.map +1 -0
- package/dist/src/background-tasks/errors.d.ts +7 -0
- package/dist/src/background-tasks/errors.d.ts.map +1 -1
- package/dist/src/background-tasks/errors.js +10 -0
- package/dist/src/background-tasks/errors.js.map +1 -1
- package/dist/src/background-tasks/in-process/engine.d.ts +3 -4
- package/dist/src/background-tasks/in-process/engine.d.ts.map +1 -1
- package/dist/src/background-tasks/in-process/engine.js +9 -25
- package/dist/src/background-tasks/in-process/engine.js.map +1 -1
- package/dist/src/background-tasks/in-process/manager.d.ts +41 -0
- package/dist/src/background-tasks/in-process/manager.d.ts.map +1 -0
- package/dist/src/background-tasks/in-process/manager.js +214 -0
- package/dist/src/background-tasks/in-process/manager.js.map +1 -0
- package/dist/src/background-tasks/in-process/types.d.ts +9 -14
- package/dist/src/background-tasks/in-process/types.d.ts.map +1 -1
- package/dist/src/background-tasks/manager.d.ts +59 -0
- package/dist/src/background-tasks/manager.d.ts.map +1 -0
- package/dist/src/background-tasks/manager.js +2 -0
- package/dist/src/background-tasks/manager.js.map +1 -0
- package/dist/src/background-tasks/timer.d.ts +3 -0
- package/dist/src/background-tasks/timer.d.ts.map +1 -0
- package/dist/src/background-tasks/timer.js +11 -0
- package/dist/src/background-tasks/timer.js.map +1 -0
- package/dist/src/background-tasks/types.d.ts +60 -0
- package/dist/src/background-tasks/types.d.ts.map +1 -0
- package/dist/src/background-tasks/types.js +11 -0
- package/dist/src/background-tasks/types.js.map +1 -0
- package/dist/src/context-manager/context-manager.d.ts +22 -1
- package/dist/src/context-manager/context-manager.d.ts.map +1 -1
- package/dist/src/context-manager/context-manager.js +57 -3
- package/dist/src/context-manager/context-manager.js.map +1 -1
- package/dist/src/context-manager/methods/summarize.d.ts +2 -2
- package/dist/src/context-manager/methods/summarize.d.ts.map +1 -1
- package/dist/src/context-manager/methods/summarize.js +0 -2
- package/dist/src/context-manager/methods/summarize.js.map +1 -1
- package/dist/src/context-manager/methods/truncate.d.ts +2 -2
- package/dist/src/context-manager/methods/truncate.d.ts.map +1 -1
- package/dist/src/context-manager/methods/truncate.js +0 -2
- package/dist/src/context-manager/methods/truncate.js.map +1 -1
- package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +2 -2
- package/dist/src/context-manager/retrieval-tool.d.ts +29 -0
- package/dist/src/context-manager/retrieval-tool.d.ts.map +1 -0
- package/dist/src/context-manager/retrieval-tool.js +98 -0
- package/dist/src/context-manager/retrieval-tool.js.map +1 -0
- package/dist/src/context-manager/stash.d.ts +107 -0
- package/dist/src/context-manager/stash.d.ts.map +1 -0
- package/dist/src/context-manager/stash.js +186 -0
- package/dist/src/context-manager/stash.js.map +1 -0
- package/dist/src/context-manager/strategies/offload/base.d.ts +10 -6
- package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -1
- package/dist/src/context-manager/strategies/offload/base.js +21 -9
- package/dist/src/context-manager/strategies/offload/base.js.map +1 -1
- package/dist/src/context-manager/strategies/offload/drop.d.ts +2 -2
- package/dist/src/context-manager/strategies/offload/drop.d.ts.map +1 -1
- package/dist/src/context-manager/strategies/offload/drop.js +6 -4
- package/dist/src/context-manager/strategies/offload/drop.js.map +1 -1
- package/dist/src/context-manager/strategies/offload/index.d.ts +1 -1
- package/dist/src/context-manager/strategies/offload/index.js +1 -1
- package/dist/src/context-manager/strategies/offload/summarize.d.ts +2 -2
- package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -1
- package/dist/src/context-manager/strategies/offload/summarize.js +16 -18
- package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -1
- package/dist/src/context-manager/strategies/offload/truncate.d.ts +2 -2
- package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -1
- package/dist/src/context-manager/strategies/offload/truncate.js +33 -4
- package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -1
- package/dist/src/context-manager/types.d.ts +35 -1
- package/dist/src/context-manager/types.d.ts.map +1 -1
- package/dist/src/experimental/index.d.ts +6 -0
- package/dist/src/experimental/index.d.ts.map +1 -1
- package/dist/src/experimental/index.js +3 -0
- package/dist/src/experimental/index.js.map +1 -1
- package/dist/src/index.d.ts +4 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/client.d.ts +3 -2
- package/dist/src/mcp/client.d.ts.map +1 -1
- package/dist/src/mcp/client.js +3 -2
- package/dist/src/mcp/client.js.map +1 -1
- package/dist/src/mcp/config.d.ts +11 -1
- package/dist/src/mcp/config.d.ts.map +1 -1
- package/dist/src/mcp/config.js.map +1 -1
- package/dist/src/mcp/config.node.d.ts +3 -2
- package/dist/src/mcp/config.node.d.ts.map +1 -1
- package/dist/src/mcp/config.node.js +6 -3
- package/dist/src/mcp/config.node.js.map +1 -1
- package/dist/src/mcp/index.d.ts +1 -1
- package/dist/src/mcp/index.d.ts.map +1 -1
- package/dist/src/models/openai/cache.d.ts +28 -1
- package/dist/src/models/openai/cache.d.ts.map +1 -1
- package/dist/src/models/openai/cache.js +37 -13
- package/dist/src/models/openai/cache.js.map +1 -1
- package/dist/src/models/routing/classifier-strategy.d.ts +87 -0
- package/dist/src/models/routing/classifier-strategy.d.ts.map +1 -0
- package/dist/src/models/routing/classifier-strategy.js +285 -0
- package/dist/src/models/routing/classifier-strategy.js.map +1 -0
- package/dist/src/models/routing/index.d.ts +2 -0
- package/dist/src/models/routing/index.d.ts.map +1 -1
- package/dist/src/models/routing/index.js +1 -0
- package/dist/src/models/routing/index.js.map +1 -1
- package/dist/src/models/routing/router.d.ts +14 -2
- package/dist/src/models/routing/router.d.ts.map +1 -1
- package/dist/src/models/routing/router.js +43 -8
- package/dist/src/models/routing/router.js.map +1 -1
- package/dist/src/models/vercel.d.ts +9 -1
- package/dist/src/models/vercel.d.ts.map +1 -1
- package/dist/src/models/vercel.js +248 -7
- package/dist/src/models/vercel.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +5 -1
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +51 -1
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session/snapshot-storage-adapter.d.ts.map +1 -1
- package/dist/src/session/snapshot-storage-adapter.js +1 -0
- package/dist/src/session/snapshot-storage-adapter.js.map +1 -1
- package/dist/src/storage/in-memory-storage.d.ts +2 -0
- package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
- package/dist/src/storage/in-memory-storage.js +2 -1
- package/dist/src/storage/in-memory-storage.js.map +1 -1
- package/dist/src/storage/local-file-storage.d.ts +4 -6
- package/dist/src/storage/local-file-storage.d.ts.map +1 -1
- package/dist/src/storage/local-file-storage.js +12 -10
- package/dist/src/storage/local-file-storage.js.map +1 -1
- package/dist/src/storage/search/keyword.d.ts +1 -0
- package/dist/src/storage/search/keyword.d.ts.map +1 -1
- package/dist/src/storage/search/keyword.js +124 -0
- package/dist/src/storage/search/keyword.js.map +1 -1
- package/dist/src/storage/search/qmd.d.ts +66 -0
- package/dist/src/storage/search/qmd.d.ts.map +1 -0
- package/dist/src/storage/search/qmd.js +124 -0
- package/dist/src/storage/search/qmd.js.map +1 -0
- package/dist/src/storage/storage.d.ts +8 -0
- package/dist/src/storage/storage.d.ts.map +1 -1
- package/dist/src/storage/storage.js +18 -0
- package/dist/src/storage/storage.js.map +1 -1
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +4 -2
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/tools/executors/executor.d.ts +11 -1
- package/dist/src/tools/executors/executor.d.ts.map +1 -1
- package/dist/src/tools/executors/executor.js +50 -16
- package/dist/src/tools/executors/executor.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/agent.d.ts +9 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/vended-memory-stores/file-memory-store/store.d.ts +9 -0
- package/dist/src/vended-memory-stores/file-memory-store/store.d.ts.map +1 -1
- package/dist/src/vended-memory-stores/file-memory-store/store.js +18 -13
- package/dist/src/vended-memory-stores/file-memory-store/store.js.map +1 -1
- package/dist/src/vended-tools/file-editor/file-editor.js +35 -30
- package/dist/src/vended-tools/file-editor/file-editor.js.map +1 -1
- package/package.json +12 -2
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L1 stash: durable storage for offloaded context content.
|
|
3
|
+
*
|
|
4
|
+
* When the ContextManager offloads content from the context window, the
|
|
5
|
+
* original is persisted here so the agent can retrieve it on demand via the
|
|
6
|
+
* retrieval tool.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
import { namespace as namespaceStorage } from '../storage/storage.js';
|
|
11
|
+
import { Message, ToolResultBlock, ToolUseBlock, CachePointBlock, ReasoningBlock } from '../types/messages.js';
|
|
12
|
+
import { logger } from '../logging/logger.js';
|
|
13
|
+
/** @internal */
|
|
14
|
+
export const STASH_PREFIX = 'context';
|
|
15
|
+
function encode(value) {
|
|
16
|
+
return new TextEncoder().encode(JSON.stringify(value));
|
|
17
|
+
}
|
|
18
|
+
function decode(bytes) {
|
|
19
|
+
return JSON.parse(new TextDecoder().decode(bytes));
|
|
20
|
+
}
|
|
21
|
+
/** Format stash refs for display in placeholders. Returns '' when refs is empty. */
|
|
22
|
+
export function formatStashRefs(refs) {
|
|
23
|
+
if (refs.length === 0)
|
|
24
|
+
return '';
|
|
25
|
+
if (refs.length === 1)
|
|
26
|
+
return ` ref: ${refs[0]}`;
|
|
27
|
+
return ` refs: ${refs.join(', ')}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Wraps a Storage backend with key management and content framing for the
|
|
31
|
+
* ContextManager's L1 stash.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export class Stash {
|
|
36
|
+
_storage;
|
|
37
|
+
_baseStorage;
|
|
38
|
+
_sessionId;
|
|
39
|
+
/** Name of the base storage constructor, for diagnostic logging. */
|
|
40
|
+
storageTypeName;
|
|
41
|
+
constructor(storage, sessionId, agentId) {
|
|
42
|
+
this._baseStorage = storage;
|
|
43
|
+
this._sessionId = sessionId;
|
|
44
|
+
this._storage = namespaceStorage(storage, `${STASH_PREFIX}/${sessionId}/scopes/agent/${agentId}`);
|
|
45
|
+
this.storageTypeName = storage.constructor.name || 'unknown';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Store a serialized block and return a deterministic reference key.
|
|
49
|
+
*
|
|
50
|
+
* Keys are deterministic (`<id>_<blockIndex>`) so they can be recomputed
|
|
51
|
+
* via {@link refsFor} after a process restart or snapshot restore.
|
|
52
|
+
*
|
|
53
|
+
* @param id - Identifier component for the key (e.g. toolUseId)
|
|
54
|
+
* @param blockIndex - Index of the block within the tool result
|
|
55
|
+
* @param data - Serialized bytes to persist
|
|
56
|
+
* @returns Reference key for retrieval
|
|
57
|
+
*/
|
|
58
|
+
async store(id, blockIndex, data) {
|
|
59
|
+
const key = `${id}_${blockIndex}`;
|
|
60
|
+
await this._storage.write(key, data);
|
|
61
|
+
return key;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Compute the deterministic reference keys for a content block.
|
|
65
|
+
*
|
|
66
|
+
* For a {@link ToolResultBlock}, returns one key per inner content item
|
|
67
|
+
* (`<toolUseId>_<i>`). For any other block, returns a single key
|
|
68
|
+
* (`<trackingId>_<blockIndex>`).
|
|
69
|
+
*
|
|
70
|
+
* @param block - The content block
|
|
71
|
+
* @param message - The message containing the block
|
|
72
|
+
* @param blockIndex - Index of the block within the message
|
|
73
|
+
* @returns Array of reference keys
|
|
74
|
+
*/
|
|
75
|
+
refsFor(block, message, blockIndex) {
|
|
76
|
+
if (block instanceof ToolResultBlock) {
|
|
77
|
+
return Array.from({ length: block.content.length }, (_, index) => `${block.toolUseId}_${index}`);
|
|
78
|
+
}
|
|
79
|
+
return [`${message.trackingId}_${blockIndex}`];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Eagerly stash all content from a message on arrival.
|
|
83
|
+
* Called via MessageAddedEvent so content is persisted before any strategy runs.
|
|
84
|
+
*
|
|
85
|
+
* @param message - The message whose content should be persisted
|
|
86
|
+
* @param skipToolUseIds - ToolUseIds to skip (e.g. retrieval tool results)
|
|
87
|
+
*/
|
|
88
|
+
async storeMessage(message, skipToolUseIds) {
|
|
89
|
+
for (let blockIndex = 0; blockIndex < message.content.length; blockIndex++) {
|
|
90
|
+
const block = message.content[blockIndex];
|
|
91
|
+
if (block instanceof ToolResultBlock) {
|
|
92
|
+
if (skipToolUseIds?.has(block.toolUseId))
|
|
93
|
+
continue;
|
|
94
|
+
await this._storeToolResult(block).catch((error) => {
|
|
95
|
+
logger.debug(`toolUseId=<${block.toolUseId}>, error=<${error}> | failed to stash tool result`);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else if (block instanceof ToolUseBlock || block instanceof CachePointBlock || block instanceof ReasoningBlock) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
try {
|
|
103
|
+
await this.store(message.trackingId, blockIndex, encode(block.toJSON()));
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
logger.debug(`trackingId=<${message.trackingId}>, error=<${error}> | failed to stash block`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Retrieve previously stashed content as its serialized JSON form.
|
|
113
|
+
*
|
|
114
|
+
* @param reference - Key returned by a previous store call
|
|
115
|
+
* @returns The deserialized block data (from `toJSON()`), or null if not found
|
|
116
|
+
*/
|
|
117
|
+
async retrieve(reference) {
|
|
118
|
+
const bytes = await this._storage.read(reference);
|
|
119
|
+
if (bytes === null)
|
|
120
|
+
return null;
|
|
121
|
+
return { data: decode(bytes) };
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* List all stashed references.
|
|
125
|
+
*/
|
|
126
|
+
async list() {
|
|
127
|
+
return this._storage.list('');
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Delete a stashed entry.
|
|
131
|
+
*/
|
|
132
|
+
async delete(reference) {
|
|
133
|
+
await this._storage.delete(reference);
|
|
134
|
+
logger.debug(`reference=<${reference}> | stash entry deleted`);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Delete all entries in this stash instance.
|
|
138
|
+
*/
|
|
139
|
+
async clear() {
|
|
140
|
+
const keys = await this.list();
|
|
141
|
+
await Promise.all(keys.map((key) => this.delete(key)));
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Delete all stash data for this session across all agents.
|
|
145
|
+
*
|
|
146
|
+
* Unlike {@link clear}, which is scoped to this agent's namespace,
|
|
147
|
+
* this scans `context/<sessionId>/` on the base storage to catch data
|
|
148
|
+
* from every agent that wrote to the session.
|
|
149
|
+
*/
|
|
150
|
+
async clearSession() {
|
|
151
|
+
const prefix = `${STASH_PREFIX}/${this._sessionId}/`;
|
|
152
|
+
const keys = await this._baseStorage.list(prefix);
|
|
153
|
+
await Promise.all(keys.map((key) => this._baseStorage.delete(key)));
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Serialize all stash entries into a plain object for snapshot persistence.
|
|
157
|
+
*
|
|
158
|
+
* @returns Map of reference keys to their stored JSON values
|
|
159
|
+
*/
|
|
160
|
+
async takeSnapshot() {
|
|
161
|
+
const keys = await this.list();
|
|
162
|
+
const results = await Promise.all(keys.map((key) => this.retrieve(key).then((result) => [key, result])));
|
|
163
|
+
const entries = {};
|
|
164
|
+
for (const [key, result] of results) {
|
|
165
|
+
if (result) {
|
|
166
|
+
entries[key] = result.data;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return entries;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Restore stash entries from a previously captured snapshot.
|
|
173
|
+
*
|
|
174
|
+
* @param entries - Map of reference keys to their JSON values (from {@link takeSnapshot})
|
|
175
|
+
*/
|
|
176
|
+
async loadSnapshot(entries) {
|
|
177
|
+
await Promise.all(Object.entries(entries).map(([key, data]) => this._storage.write(key, encode(data))));
|
|
178
|
+
}
|
|
179
|
+
async _storeToolResult(block) {
|
|
180
|
+
for (let blockIndex = 0; blockIndex < block.content.length; blockIndex++) {
|
|
181
|
+
const item = block.content[blockIndex];
|
|
182
|
+
await this.store(block.toolUseId, blockIndex, encode(item.toJSON()));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=stash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stash.js","sourceRoot":"","sources":["../../../src/context-manager/stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAgB,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG9G,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAA;AAErC,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AACxD,CAAC;AAED,SAAS,MAAM,CAAC,KAAiB;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,IAAI,CAAC,CAAC,CAAE,EAAE,CAAA;IACjD,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,KAAK;IACC,QAAQ,CAAS;IACjB,YAAY,CAAS;IACrB,UAAU,CAAQ;IAEnC,oEAAoE;IAC3D,eAAe,CAAQ;IAEhC,YAAY,OAAgB,EAAE,SAAiB,EAAE,OAAe;QAC9D,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,YAAY,IAAI,SAAS,iBAAiB,OAAO,EAAE,CAAC,CAAA;QACjG,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,SAAS,CAAA;IAC9D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,UAAkB,EAAE,IAAgB;QAC1D,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,UAAU,EAAE,CAAA;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,KAAmB,EAAE,OAAgB,EAAE,UAAkB;QAC/D,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,EAAE,CAAC,CAAA;QAClG,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,cAAoC;QACvE,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAE,CAAA;YAC1C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACrC,IAAI,cAAc,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;oBAAE,SAAQ;gBAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjD,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,SAAS,aAAa,KAAK,iCAAiC,CAAC,CAAA;gBAChG,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;gBAChH,SAAQ;YACV,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC1E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,UAAU,aAAa,KAAK,2BAA2B,CAAC,CAAA;gBAC9F,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACrC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,yBAAyB,CAAC,CAAA;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,MAAM,GAAG,GAAG,YAAY,IAAI,IAAI,CAAC,UAAU,GAAG,CAAA;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAC9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,CAAU,CAAC,CAAC,CAAC,CAAA;QACjH,MAAM,OAAO,GAA8B,EAAE,CAAA;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAiB,CAAA;YACzC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAkC;QACnD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzG,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAsB;QACnD,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC;YACzE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAE,CAAA;YACvC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACtE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base offload strategy and shared infrastructure.
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
3
|
*/
|
|
6
|
-
import { Message,
|
|
4
|
+
import { Message, ToolResultBlock } from '../../../types/messages.js';
|
|
7
5
|
import type { ContentBlock } from '../../../types/messages.js';
|
|
8
6
|
import type { LocalAgent } from '../../../types/agent.js';
|
|
9
7
|
import type { ContextStrategy, ContextState } from '../../types.js';
|
|
8
|
+
import type { Stash } from '../../stash.js';
|
|
10
9
|
/**
|
|
11
10
|
* Target for offload operations. This union is intentionally extensible — new
|
|
12
11
|
* string-literal members can be added freely as new content categories emerge.
|
|
@@ -17,6 +16,8 @@ import type { ContextStrategy, ContextState } from '../../types.js';
|
|
|
17
16
|
* - `"userText"` — text blocks in user messages (excluding tool results)
|
|
18
17
|
* - `string[]` — tool results from specific tools, namespaced with `tool::` (e.g. `['tool::bash']`); prefix with `!` to exclude
|
|
19
18
|
* - `"*"` — all content in the context window (tool results + text blocks)
|
|
19
|
+
*
|
|
20
|
+
* @experimental
|
|
20
21
|
*/
|
|
21
22
|
export type OffloadTarget = '*' | 'toolResults' | 'toolResultErrors' | 'assistantText' | 'userText' | string[];
|
|
22
23
|
/**
|
|
@@ -30,6 +31,8 @@ export type OffloadTarget = '*' | 'toolResults' | 'toolResultErrors' | 'assistan
|
|
|
30
31
|
* When multiple strategies target the same content, they don't conflict — strategies
|
|
31
32
|
* run as an ordered pipeline, and once an earlier strategy shrinks a block, it falls
|
|
32
33
|
* below the next strategy's threshold and gets skipped automatically.
|
|
34
|
+
*
|
|
35
|
+
* @experimental
|
|
33
36
|
*/
|
|
34
37
|
export interface OffloadConditions {
|
|
35
38
|
/** Token threshold above which individual blocks are offloaded. */
|
|
@@ -100,10 +103,11 @@ export declare abstract class BaseOffloadStrategy implements ContextStrategy {
|
|
|
100
103
|
protected readonly _removalRatio: number;
|
|
101
104
|
protected readonly _includeFilter: Set<string> | undefined;
|
|
102
105
|
protected readonly _excludeFilter: Set<string> | undefined;
|
|
106
|
+
protected _stash: Stash | undefined;
|
|
103
107
|
constructor(target?: OffloadTarget, conditions?: OffloadConditions);
|
|
104
108
|
/** Whether this strategy operates at message-level (batch) vs per-block. */
|
|
105
109
|
protected get _isMessageLevel(): boolean;
|
|
106
|
-
init(agent: LocalAgent): void;
|
|
110
|
+
init(agent: LocalAgent, stash?: Stash): void;
|
|
107
111
|
apply(context: ContextState): Promise<boolean>;
|
|
108
112
|
/** Per-block execution: walk each message, transform individual blocks above threshold. */
|
|
109
113
|
private _applyPerBlock;
|
|
@@ -118,7 +122,7 @@ export declare abstract class BaseOffloadStrategy implements ContextStrategy {
|
|
|
118
122
|
/** Collect eligible messages for message-level operations, respecting preserveRecent, head-pin, and threshold. */
|
|
119
123
|
protected _getEligibleMessages(context: ContextState): Promise<Message[]>;
|
|
120
124
|
/** Transform a block. Return the replacement, or null to skip. */
|
|
121
|
-
protected abstract _replaceBlock(block:
|
|
125
|
+
protected abstract _replaceBlock(block: ContentBlock, tokens: number, message: Message, agent: LocalAgent, stashRefs: string[]): Promise<ContentBlock | null>;
|
|
122
126
|
}
|
|
123
127
|
/**
|
|
124
128
|
* Last-resort strategy that recomputes utilization and drops the oldest 20% of messages
|
|
@@ -133,7 +137,7 @@ export declare class EmergencyTruncateStrategy extends BaseOffloadStrategy {
|
|
|
133
137
|
readonly name = "offload:emergency-truncate";
|
|
134
138
|
protected readonly _removalRatio = 0.2;
|
|
135
139
|
constructor();
|
|
136
|
-
init(): void;
|
|
140
|
+
init(_agent: LocalAgent, stash?: Stash): void;
|
|
137
141
|
apply(context: ContextState): Promise<boolean>;
|
|
138
142
|
protected _replaceBlock(): Promise<ContentBlock | null>;
|
|
139
143
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EACL,OAAO,EAEP,eAAe,EAIhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAG3C;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,GAAG,aAAa,GAAG,kBAAkB,GAAG,eAAe,GAAG,UAAU,GAAG,MAAM,EAAE,CAAA;AAE9G;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,8DAA8D;IAC9D,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,eAAe,CAAA;CACrD;AAQD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAC1C,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GACzC,OAAO,CAYT;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAMjG;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAC1C,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GACzC,OAAO,CAYT;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,EAC1C,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GACzC,OAAO,EAAE,CAMX;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAyBtF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAoBlH;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA4BrH;AAID,yEAAyE;AACzE,8BAAsB,mBAAoB,YAAW,eAAe;IAClE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAA;IACrD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACjD,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5D,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAC1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAM;IAC9C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1D,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAA;gBAEvB,MAAM,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAelE,4EAA4E;IAC5E,SAAS,KAAK,eAAe,IAAI,OAAO,CAEvC;IAED,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAWtC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpD,2FAA2F;YAC7E,cAAc;IAyB5B,wFAAwF;cACxE,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBzE,wFAAwF;IACxF,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI3D,oFAAoF;IACpF,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO;IAgB/G,4CAA4C;cAC5B,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,OAAO,CAAC;IAoBnB,kHAAkH;cAClG,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyC/E,kEAAkE;IAClE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAC9B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAChC;AAID;;;;;;;;GAQG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,QAAQ,CAAC,IAAI,gCAA+B;IAC5C,mBAA4B,aAAa,OAAM;;IAMtC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAIvC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;cAQ7C,aAAa,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAG9D"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Base offload strategy and shared infrastructure.
|
|
3
|
-
*
|
|
4
|
-
* @internal
|
|
5
3
|
*/
|
|
6
4
|
import { logger } from '../../../logging/logger.js';
|
|
7
5
|
import { MessageAddedEvent } from '../../../hooks/events.js';
|
|
8
|
-
import { Message, TextBlock, ToolResultBlock, ToolUseBlock } from '../../../types/messages.js';
|
|
6
|
+
import { Message, TextBlock, ToolResultBlock, ToolUseBlock, CachePointBlock, ReasoningBlock, } from '../../../types/messages.js';
|
|
7
|
+
import { RETRIEVAL_TOOL_NAME } from '../../retrieval-tool.js';
|
|
9
8
|
// --- Shared helpers ---
|
|
10
9
|
function finiteOrUndefined(value) {
|
|
11
10
|
return typeof value === 'number' && Number.isFinite(value) ? Math.max(0, value) : undefined;
|
|
@@ -202,6 +201,7 @@ export class BaseOffloadStrategy {
|
|
|
202
201
|
_removalRatio = 0.3;
|
|
203
202
|
_includeFilter;
|
|
204
203
|
_excludeFilter;
|
|
204
|
+
_stash;
|
|
205
205
|
constructor(target, conditions) {
|
|
206
206
|
if (Array.isArray(target) && target.length === 0) {
|
|
207
207
|
throw new Error('Empty array target matches nothing — provide at least one target');
|
|
@@ -218,7 +218,8 @@ export class BaseOffloadStrategy {
|
|
|
218
218
|
get _isMessageLevel() {
|
|
219
219
|
return this._utilizationThreshold !== undefined;
|
|
220
220
|
}
|
|
221
|
-
init(agent) {
|
|
221
|
+
init(agent, stash) {
|
|
222
|
+
this._stash = stash;
|
|
222
223
|
if (this._isMessageLevel)
|
|
223
224
|
return;
|
|
224
225
|
if (this._preserveRecent > 0)
|
|
@@ -230,6 +231,8 @@ export class BaseOffloadStrategy {
|
|
|
230
231
|
});
|
|
231
232
|
}
|
|
232
233
|
async apply(context) {
|
|
234
|
+
if (context.stash)
|
|
235
|
+
this._stash = context.stash;
|
|
233
236
|
if (this._isMessageLevel) {
|
|
234
237
|
if (context.utilization < this._utilizationThreshold)
|
|
235
238
|
return false;
|
|
@@ -279,12 +282,22 @@ export class BaseOffloadStrategy {
|
|
|
279
282
|
}
|
|
280
283
|
/** Whether a block is eligible for offload given the current target and filters. */
|
|
281
284
|
_blockMatchesTarget(block, message, toolNameMap) {
|
|
285
|
+
if (block instanceof ToolUseBlock)
|
|
286
|
+
return false;
|
|
287
|
+
if (block instanceof CachePointBlock)
|
|
288
|
+
return false;
|
|
289
|
+
if (block instanceof ReasoningBlock)
|
|
290
|
+
return false;
|
|
282
291
|
if (block instanceof TextBlock)
|
|
283
292
|
return targetMatchesMessage(this._target, message);
|
|
284
293
|
if (block instanceof ToolResultBlock) {
|
|
294
|
+
if (this._stash && toolNameMap.get(block.toolUseId) === RETRIEVAL_TOOL_NAME)
|
|
295
|
+
return false;
|
|
285
296
|
return (this._target === undefined ||
|
|
286
297
|
toolMatchesTarget(block, this._target, toolNameMap, this._includeFilter, this._excludeFilter));
|
|
287
298
|
}
|
|
299
|
+
if (this._target === '*' || this._target === undefined)
|
|
300
|
+
return true;
|
|
288
301
|
return false;
|
|
289
302
|
}
|
|
290
303
|
/** Process eligible blocks in a message. */
|
|
@@ -298,10 +311,9 @@ export class BaseOffloadStrategy {
|
|
|
298
311
|
const tokens = await agent.model.countTokens([new Message({ role: message.role, content: [block] })]);
|
|
299
312
|
if (tokens <= effectiveThreshold)
|
|
300
313
|
continue;
|
|
301
|
-
const
|
|
314
|
+
const stashRefs = this._stash?.refsFor(block, message, blockIndex) ?? [];
|
|
315
|
+
const replacement = await this._replaceBlock(block, tokens, message, agent, stashRefs);
|
|
302
316
|
if (replacement && replacement !== block) {
|
|
303
|
-
// Intentional in-place mutation: per-block replacement shrinks existing message content
|
|
304
|
-
// rather than constructing a new Message (unlike message-level removal which uses new objects).
|
|
305
317
|
;
|
|
306
318
|
message.content[blockIndex] = replacement;
|
|
307
319
|
acted = true;
|
|
@@ -357,8 +369,8 @@ export class EmergencyTruncateStrategy extends BaseOffloadStrategy {
|
|
|
357
369
|
constructor() {
|
|
358
370
|
super('*');
|
|
359
371
|
}
|
|
360
|
-
init() {
|
|
361
|
-
|
|
372
|
+
init(_agent, stash) {
|
|
373
|
+
this._stash = stash;
|
|
362
374
|
}
|
|
363
375
|
async apply(context) {
|
|
364
376
|
if (context.messages.length <= 3)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
6
|
-
import { Message
|
|
6
|
+
import { Message } from '../../../types/messages.js';
|
|
7
7
|
import type { ContentBlock } from '../../../types/messages.js';
|
|
8
8
|
import type { LocalAgent } from '../../../types/agent.js';
|
|
9
9
|
import type { ContextStrategy } from '../../types.js';
|
|
@@ -14,6 +14,6 @@ export declare class DropStrategy extends BaseOffloadStrategy {
|
|
|
14
14
|
readonly name = "offload:drop";
|
|
15
15
|
when(conditions: OffloadConditions): ContextStrategy;
|
|
16
16
|
protected _makeRemovalMarker(count: number): string;
|
|
17
|
-
protected _replaceBlock(block:
|
|
17
|
+
protected _replaceBlock(block: ContentBlock, _tokens: number, message: Message, _agent: LocalAgent, stashRefs: string[]): Promise<ContentBlock | null>;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=drop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/drop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"drop.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/drop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAA8B,MAAM,4BAA4B,CAAA;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,eAAO,MAAM,cAAc,cAAc,CAAA;AAEzC,qBAAa,YAAa,SAAQ,mBAAmB;IACnD,QAAQ,CAAC,IAAI,kBAAiB;IAE9B,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,eAAe;cAIjC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;cAI5C,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAchC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { logger } from '../../../logging/logger.js';
|
|
7
7
|
import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
|
|
8
|
+
import { formatStashRefs } from '../../stash.js';
|
|
8
9
|
import { BaseOffloadStrategy } from './base.js';
|
|
9
10
|
export const DROPPED_MARKER = '[Dropped]';
|
|
10
11
|
export class DropStrategy extends BaseOffloadStrategy {
|
|
@@ -15,17 +16,18 @@ export class DropStrategy extends BaseOffloadStrategy {
|
|
|
15
16
|
_makeRemovalMarker(count) {
|
|
16
17
|
return `[Dropped: ${count} ${count === 1 ? 'message' : 'messages'}]`;
|
|
17
18
|
}
|
|
18
|
-
async _replaceBlock(block, _tokens, message, _agent) {
|
|
19
|
+
async _replaceBlock(block, _tokens, message, _agent, stashRefs) {
|
|
20
|
+
const marker = `${DROPPED_MARKER}${formatStashRefs(stashRefs)}`;
|
|
19
21
|
if (block instanceof ToolResultBlock) {
|
|
20
22
|
logger.debug(`toolUseId=<${block.toolUseId}> | dropped tool result from context window`);
|
|
21
23
|
return new ToolResultBlock({
|
|
22
24
|
toolUseId: block.toolUseId,
|
|
23
25
|
status: block.status,
|
|
24
|
-
content: [new TextBlock(
|
|
26
|
+
content: [new TextBlock(marker)],
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
logger.debug(`trackingId=<${message.trackingId}> | dropped
|
|
28
|
-
return new TextBlock(
|
|
29
|
+
logger.debug(`trackingId=<${message.trackingId}> | dropped block from context window`);
|
|
30
|
+
return new TextBlock(marker);
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
//# sourceMappingURL=drop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/drop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAIhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG/C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC,MAAM,OAAO,YAAa,SAAQ,mBAAmB;IAC1C,IAAI,GAAG,cAAc,CAAA;IAE9B,IAAI,CAAC,UAA6B;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEkB,kBAAkB,CAAC,KAAa;QACjD,OAAO,aAAa,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAA;IACtE,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,
|
|
1
|
+
{"version":3,"file":"drop.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/drop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAIhF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAG/C,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC,MAAM,OAAO,YAAa,SAAQ,mBAAmB;IAC1C,IAAI,GAAG,cAAc,CAAA;IAE9B,IAAI,CAAC,UAA6B;QAChC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEkB,kBAAkB,CAAC,KAAa;QACjD,OAAO,aAAa,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAA;IACtE,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,KAAmB,EACnB,OAAe,EACf,OAAgB,EAChB,MAAkB,EAClB,SAAmB;QAEnB,MAAM,MAAM,GAAG,GAAG,cAAc,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAA;QAE/D,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC,SAAS,6CAA6C,CAAC,CAAA;YACxF,OAAO,IAAI,eAAe,CAAC;gBACzB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;aACjC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,UAAU,uCAAuC,CAAC,CAAA;QACtF,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
6
|
-
import { Message
|
|
6
|
+
import { Message } from '../../../types/messages.js';
|
|
7
7
|
import type { ContentBlock } from '../../../types/messages.js';
|
|
8
8
|
import type { LocalAgent } from '../../../types/agent.js';
|
|
9
9
|
import type { ContextStrategy, ContextState } from '../../types.js';
|
|
@@ -16,7 +16,7 @@ export declare class SummarizeStrategy extends BaseOffloadStrategy {
|
|
|
16
16
|
when(conditions: OffloadConditions): ContextStrategy;
|
|
17
17
|
apply(context: ContextState): Promise<boolean>;
|
|
18
18
|
protected _applyPerMessage(context: ContextState): Promise<boolean>;
|
|
19
|
-
protected _replaceBlock(block:
|
|
19
|
+
protected _replaceBlock(block: ContentBlock, tokens: number, message: Message, agent: LocalAgent, stashRefs: string[]): Promise<ContentBlock | null>;
|
|
20
20
|
private _resolveModel;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=summarize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/summarize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/summarize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,OAAO,EAA8B,MAAM,4BAA4B,CAAA;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,mBAAmB,EAInB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAElB,qBAAa,iBAAkB,SAAQ,mBAAmB;IACxD,QAAQ,CAAC,IAAI,uBAAsB;IAEnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAK5F,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,eAAe;IAIrC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;cAQpC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;cAiDlE,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAkC/B,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
import { logger } from '../../../logging/logger.js';
|
|
7
7
|
import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
|
|
8
8
|
import { flattenMessagesToContent, SUMMARIZED_PREFIX, summarizeContent, toolResultToContentBlocks, } from '../../methods/summarize.js';
|
|
9
|
-
import {
|
|
9
|
+
import { formatStashRefs } from '../../stash.js';
|
|
10
|
+
import { BaseOffloadStrategy, collectRemovableWithPair, spliceWithPairs, repairAlternation, } from './base.js';
|
|
10
11
|
export class SummarizeStrategy extends BaseOffloadStrategy {
|
|
11
12
|
name = 'offload:summarize';
|
|
12
13
|
_config;
|
|
@@ -60,23 +61,14 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
|
|
|
60
61
|
new TextBlock(`${SUMMARIZED_PREFIX} ${safe.length} messages, ~${totalTokens.toLocaleString()} tokens]\n\n${summary}`),
|
|
61
62
|
],
|
|
62
63
|
});
|
|
63
|
-
|
|
64
|
-
let lowestIndex = messages.length;
|
|
65
|
-
for (const message of safe) {
|
|
66
|
-
const index = messages.indexOf(message);
|
|
67
|
-
if (index === -1)
|
|
68
|
-
continue;
|
|
69
|
-
if (index < lowestIndex)
|
|
70
|
-
lowestIndex = index;
|
|
71
|
-
messages.splice(index, 1);
|
|
72
|
-
}
|
|
64
|
+
const { lowestIndex } = spliceWithPairs(messages, safe);
|
|
73
65
|
const insertIndex = Math.max(1, Math.min(lowestIndex, messages.length));
|
|
74
66
|
messages.splice(insertIndex, 0, summaryMessage);
|
|
75
67
|
repairAlternation(messages);
|
|
76
68
|
logger.debug(`summarized=<${safe.length}>, tokens=<${totalTokens}> | batched summarization complete`);
|
|
77
69
|
return true;
|
|
78
70
|
}
|
|
79
|
-
async _replaceBlock(block, tokens, message, agent) {
|
|
71
|
+
async _replaceBlock(block, tokens, message, agent, stashRefs) {
|
|
80
72
|
const model = this._resolveModel(agent);
|
|
81
73
|
if (!model)
|
|
82
74
|
return null;
|
|
@@ -88,14 +80,20 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
|
|
|
88
80
|
return new ToolResultBlock({
|
|
89
81
|
toolUseId: block.toolUseId,
|
|
90
82
|
status: block.status,
|
|
91
|
-
content: [
|
|
83
|
+
content: [
|
|
84
|
+
new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens |${formatStashRefs(stashRefs)}]\n\n${summary}`),
|
|
85
|
+
],
|
|
92
86
|
});
|
|
93
87
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
88
|
+
if (block instanceof TextBlock) {
|
|
89
|
+
const summary = await summarizeContent([new TextBlock(block.text)], model, this._config);
|
|
90
|
+
if (!summary)
|
|
91
|
+
return null;
|
|
92
|
+
logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | summarized text block`);
|
|
93
|
+
return new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens |${formatStashRefs(stashRefs)}]\n\n${summary}`);
|
|
94
|
+
}
|
|
95
|
+
logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | offloaded media block`);
|
|
96
|
+
return new TextBlock(`[Offloaded: ~${tokens} tokens${formatStashRefs(stashRefs)}]`);
|
|
99
97
|
}
|
|
100
98
|
_resolveModel(agent) {
|
|
101
99
|
return this._config.model ?? agent.model;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/summarize.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/summarize.ts"],"names":[],"mappings":"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"}
|