@strands-agents/sdk 1.9.0 → 1.10.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.
Files changed (89) hide show
  1. package/dist/src/agent/agent.js +1 -1
  2. package/dist/src/agent/agent.js.map +1 -1
  3. package/dist/src/errors.d.ts +15 -0
  4. package/dist/src/errors.d.ts.map +1 -1
  5. package/dist/src/errors.js +18 -0
  6. package/dist/src/errors.js.map +1 -1
  7. package/dist/src/index.d.ts +2 -1
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +1 -1
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/models/bedrock.d.ts.map +1 -1
  12. package/dist/src/models/bedrock.js +23 -1
  13. package/dist/src/models/bedrock.js.map +1 -1
  14. package/dist/src/models/openai/mantle.d.ts +6 -2
  15. package/dist/src/models/openai/mantle.d.ts.map +1 -1
  16. package/dist/src/models/openai/mantle.js +17 -3
  17. package/dist/src/models/openai/mantle.js.map +1 -1
  18. package/dist/src/models/openai/model.d.ts.map +1 -1
  19. package/dist/src/models/openai/model.js +4 -3
  20. package/dist/src/models/openai/model.js.map +1 -1
  21. package/dist/src/multiagent/graph.d.ts.map +1 -1
  22. package/dist/src/multiagent/graph.js +1 -1
  23. package/dist/src/multiagent/graph.js.map +1 -1
  24. package/dist/src/{multiagent/queue.d.ts → queue.d.ts} +12 -27
  25. package/dist/src/queue.d.ts.map +1 -0
  26. package/dist/src/{multiagent/queue.js → queue.js} +4 -2
  27. package/dist/src/queue.js.map +1 -0
  28. package/dist/src/session/file-storage.d.ts +3 -0
  29. package/dist/src/session/file-storage.d.ts.map +1 -1
  30. package/dist/src/session/file-storage.js +3 -0
  31. package/dist/src/session/file-storage.js.map +1 -1
  32. package/dist/src/session/s3-storage.d.ts +3 -0
  33. package/dist/src/session/s3-storage.d.ts.map +1 -1
  34. package/dist/src/session/s3-storage.js +3 -0
  35. package/dist/src/session/s3-storage.js.map +1 -1
  36. package/dist/src/session/session-manager.d.ts +11 -2
  37. package/dist/src/session/session-manager.d.ts.map +1 -1
  38. package/dist/src/session/session-manager.js +19 -8
  39. package/dist/src/session/session-manager.js.map +1 -1
  40. package/dist/src/session/snapshot-storage-adapter.d.ts +93 -0
  41. package/dist/src/session/snapshot-storage-adapter.d.ts.map +1 -0
  42. package/dist/src/session/snapshot-storage-adapter.js +157 -0
  43. package/dist/src/session/snapshot-storage-adapter.js.map +1 -0
  44. package/dist/src/session/storage.d.ts +3 -6
  45. package/dist/src/session/storage.d.ts.map +1 -1
  46. package/dist/src/storage/in-memory-storage.d.ts +64 -0
  47. package/dist/src/storage/in-memory-storage.d.ts.map +1 -0
  48. package/dist/src/storage/in-memory-storage.js +85 -0
  49. package/dist/src/storage/in-memory-storage.js.map +1 -0
  50. package/dist/src/storage/index.d.ts +20 -0
  51. package/dist/src/storage/index.d.ts.map +1 -0
  52. package/dist/src/storage/index.js +18 -0
  53. package/dist/src/storage/index.js.map +1 -0
  54. package/dist/src/storage/local-file-storage.d.ts +81 -0
  55. package/dist/src/storage/local-file-storage.d.ts.map +1 -0
  56. package/dist/src/storage/local-file-storage.js +244 -0
  57. package/dist/src/storage/local-file-storage.js.map +1 -0
  58. package/dist/src/storage/s3-storage.d.ts +73 -0
  59. package/dist/src/storage/s3-storage.d.ts.map +1 -0
  60. package/dist/src/storage/s3-storage.js +146 -0
  61. package/dist/src/storage/s3-storage.js.map +1 -0
  62. package/dist/src/storage/storage.d.ts +102 -0
  63. package/dist/src/storage/storage.d.ts.map +1 -0
  64. package/dist/src/storage/storage.js +68 -0
  65. package/dist/src/storage/storage.js.map +1 -0
  66. package/dist/src/telemetry/tracer.d.ts +18 -0
  67. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  68. package/dist/src/telemetry/tracer.js +31 -11
  69. package/dist/src/telemetry/tracer.js.map +1 -1
  70. package/dist/src/tsconfig.tsbuildinfo +1 -1
  71. package/dist/src/types/agent.d.ts +5 -4
  72. package/dist/src/types/agent.d.ts.map +1 -1
  73. package/dist/src/types/agent.js.map +1 -1
  74. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +37 -5
  75. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  76. package/dist/src/vended-plugins/context-offloader/plugin.js +116 -17
  77. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  78. package/dist/src/vended-plugins/context-offloader/storage.d.ts +23 -9
  79. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
  80. package/dist/src/vended-plugins/context-offloader/storage.js +17 -6
  81. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
  82. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  83. package/package.json +5 -2
  84. package/dist/src/conversation-manager/index.d.ts +0 -10
  85. package/dist/src/conversation-manager/index.d.ts.map +0 -1
  86. package/dist/src/conversation-manager/index.js +0 -10
  87. package/dist/src/conversation-manager/index.js.map +0 -1
  88. package/dist/src/multiagent/queue.d.ts.map +0 -1
  89. package/dist/src/multiagent/queue.js.map +0 -1
@@ -203,10 +203,6 @@ export interface LocalAgent {
203
203
  * The unique identifier of the agent instance.
204
204
  */
205
205
  readonly id: string;
206
- /**
207
- * Read-only snapshot of accumulated agent metrics (cycles, token usage, tool stats).
208
- */
209
- readonly metrics: AgentMetrics;
210
206
  /**
211
207
  * App state storage accessible to tools and application logic.
212
208
  */
@@ -232,6 +228,11 @@ export interface LocalAgent {
232
228
  * environment (e.g. browsers, where no host default is registered).
233
229
  */
234
230
  readonly sandbox: Sandbox;
231
+ /**
232
+ * Aggregated metrics for the agent's loop execution.
233
+ * Tracks cycle counts, token usage, tool execution stats, and model latency.
234
+ */
235
+ readonly metrics: AgentMetrics;
235
236
  /**
236
237
  * The model provider used by the agent for inference.
237
238
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/types/agent.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,36 @@
1
1
  import type { Plugin } from '../../plugins/plugin.js';
2
2
  import type { Tool } from '../../tools/tool.js';
3
3
  import type { LocalAgent } from '../../types/agent.js';
4
- import { type Storage } from './storage.js';
4
+ import { type Storage as OffloaderStorage } from './storage.js';
5
+ import { type Storage } from '../../storage/storage.js';
5
6
  /** Configuration for the {@link ContextOffloader} plugin. */
6
7
  export interface ContextOffloaderConfig {
7
- /** Storage backend for persisting offloaded content. */
8
- storage: Storage;
8
+ /**
9
+ * Storage backend for persisting offloaded content.
10
+ *
11
+ * Accepts either:
12
+ * - A unified `Storage` (from `@strands-agents/sdk/storage`) — each offloaded content block
13
+ * occupies exactly one key (content-type is framed into the stored bytes).
14
+ * - A legacy offloader `Storage` (deprecated, from this module).
15
+ *
16
+ * When a unified `Storage` is provided, the plugin auto-scopes keys under `offloader/`
17
+ * unless the storage is already namespaced. If the resolved storage exposes a
18
+ * `forSandbox(sandbox)` method (as `LocalFileStorage` and its namespace views do),
19
+ * the plugin auto-routes I/O through the agent's sandbox.
20
+ */
21
+ storage: Storage | OffloaderStorage;
9
22
  /** Token threshold above which tool results are offloaded. Defaults to 2,500. */
10
23
  maxResultTokens?: number;
11
24
  /** Number of tokens to keep as an inline preview. Defaults to 1,000. */
12
25
  previewTokens?: number;
13
26
  /** Whether to register the `retrieve_offloaded_content` tool. Defaults to true. */
14
27
  includeRetrievalTool?: boolean;
28
+ /**
29
+ * Number of agent loop cycles before an offloaded entry is evicted.
30
+ * Entries stored more than this many cycles ago are deleted.
31
+ * Defaults to 20. Set to `null` to disable eviction.
32
+ */
33
+ evictAfterCycles?: number | null;
15
34
  }
16
35
  /**
17
36
  * Plugin that offloads oversized tool results to reduce context consumption.
@@ -20,26 +39,39 @@ export interface ContextOffloaderConfig {
20
39
  * each content block to a storage backend and replaces the in-context result with
21
40
  * a truncated text preview plus per-block storage references.
22
41
  *
42
+ * ## Eviction behavior
43
+ *
44
+ * Offloaded entries are evicted after `evictAfterCycles` agent loop cycles (default 20).
45
+ * This applies to both unified `Storage` backends and legacy offloader storage.
46
+ *
23
47
  * @example
24
48
  * ```typescript
25
- * import { ContextOffloader, InMemoryStorage } from '@strands-agents/sdk/vended-plugins/context-offloader'
49
+ * import { ContextOffloader } from '@strands-agents/sdk/vended-plugins/context-offloader'
50
+ * import { InMemoryStorage } from '@strands-agents/sdk/storage'
26
51
  *
27
52
  * const agent = new Agent({
28
53
  * model,
29
- * plugins: [new ContextOffloader({ storage: new InMemoryStorage() })],
54
+ * plugins: [new ContextOffloader({
55
+ * storage: new InMemoryStorage(),
56
+ * })],
30
57
  * })
31
58
  * ```
32
59
  */
33
60
  export declare class ContextOffloader implements Plugin {
34
61
  readonly name = "strands:context-offloader";
62
+ private static readonly _DEFAULT_EVICT_AFTER_CYCLES;
63
+ private readonly _sandboxableStorage;
35
64
  private readonly _storage;
36
65
  private readonly _maxResultTokens;
37
66
  private readonly _previewTokens;
38
67
  private readonly _includeRetrievalTool;
68
+ private readonly _evictAfterCycles;
39
69
  private readonly _storageByAgent;
70
+ private readonly _keyStoredAt;
40
71
  private _retrievalTool;
41
72
  constructor(config: ContextOffloaderConfig);
42
73
  initAgent(agent: LocalAgent): void;
74
+ private _evict;
43
75
  getTools(): Tool[];
44
76
  private _storageForAgent;
45
77
  private _storageForToolContext;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAUtD,OAAO,EAAgC,KAAK,OAAO,EAAE,MAAM,cAAc,CAAA;AA2FzE,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAA;IAChB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,sBAAsB;IAc1C,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAelC,QAAQ,IAAI,IAAI,EAAE;IAMlB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;YAmDd,WAAW;IAkCzB,OAAO,CAAC,iBAAiB;YAiCX,iBAAiB;CA6DhC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAWtD,OAAO,EAAyD,KAAK,OAAO,IAAI,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACtH,OAAO,EAAyB,KAAK,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAwI9E,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAA;IACnC,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mFAAmF;IACnF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,gBAAiB,YAAW,MAAM;IAC7C,QAAQ,CAAC,IAAI,+BAA8B;IAE3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAK;IAExD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuD;IAC3F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwD;IACxF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,EAAE,sBAAsB;IAiC1C,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAiBlC,OAAO,CAAC,MAAM;IAiBd,QAAQ,IAAI,IAAI,EAAE;IAMlB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;YAmDd,WAAW;IAkCzB,OAAO,CAAC,iBAAiB;YAiCX,iBAAiB;CAkEhC"}
@@ -4,8 +4,44 @@ import { ImageBlock, VideoBlock, DocumentBlock } from '../../types/media.js';
4
4
  import { tool } from '../../tools/tool-factory.js';
5
5
  import { z } from 'zod';
6
6
  import { logger } from '../../logging/logger.js';
7
- import { FileStorage, InMemoryStorage } from './storage.js';
7
+ import { FileStorage, InMemoryStorage as LegacyInMemoryStorage } from './storage.js';
8
+ import { NAMESPACED, namespace } from '../../storage/storage.js';
8
9
  import { isSearchableContent, searchContent } from './search.js';
10
+ function isOffloaderStorage(storage) {
11
+ return 'store' in storage && 'retrieve' in storage;
12
+ }
13
+ // Framed format for unified Storage: [2-byte contentType length BE][contentType UTF-8][content bytes]
14
+ // This keeps one storage key per offloaded block so content-type metadata doesn't consume maxEntries.
15
+ function frameContent(content, contentType) {
16
+ const ctBytes = new TextEncoder().encode(contentType);
17
+ const frame = new Uint8Array(2 + ctBytes.length + content.length);
18
+ frame[0] = (ctBytes.length >> 8) & 0xff;
19
+ frame[1] = ctBytes.length & 0xff;
20
+ frame.set(ctBytes, 2);
21
+ frame.set(content, 2 + ctBytes.length);
22
+ return frame;
23
+ }
24
+ function unframeContent(frame) {
25
+ const ctLen = (frame[0] << 8) | frame[1];
26
+ const contentType = new TextDecoder().decode(frame.subarray(2, 2 + ctLen));
27
+ const content = frame.subarray(2 + ctLen);
28
+ return { content, contentType };
29
+ }
30
+ async function storeContent(storage, key, content, contentType) {
31
+ if (isOffloaderStorage(storage))
32
+ return storage.store(key, content, contentType);
33
+ const ct = contentType ?? 'application/octet-stream';
34
+ await storage.write(key, frameContent(content, ct));
35
+ return key;
36
+ }
37
+ async function retrieveContent(storage, reference) {
38
+ if (isOffloaderStorage(storage))
39
+ return storage.retrieve(reference);
40
+ const data = await storage.read(reference);
41
+ if (data === null)
42
+ throw new Error(`Reference not found: ${reference}`);
43
+ return unframeContent(data);
44
+ }
9
45
  const CHARS_PER_TOKEN = 4;
10
46
  const DEFAULT_MAX_RESULT_TOKENS = 2_500;
11
47
  const DEFAULT_PREVIEW_TOKENS = 1_000;
@@ -98,23 +134,35 @@ function decodeStoredContent(content, contentType, reference) {
98
134
  * each content block to a storage backend and replaces the in-context result with
99
135
  * a truncated text preview plus per-block storage references.
100
136
  *
137
+ * ## Eviction behavior
138
+ *
139
+ * Offloaded entries are evicted after `evictAfterCycles` agent loop cycles (default 20).
140
+ * This applies to both unified `Storage` backends and legacy offloader storage.
141
+ *
101
142
  * @example
102
143
  * ```typescript
103
- * import { ContextOffloader, InMemoryStorage } from '@strands-agents/sdk/vended-plugins/context-offloader'
144
+ * import { ContextOffloader } from '@strands-agents/sdk/vended-plugins/context-offloader'
145
+ * import { InMemoryStorage } from '@strands-agents/sdk/storage'
104
146
  *
105
147
  * const agent = new Agent({
106
148
  * model,
107
- * plugins: [new ContextOffloader({ storage: new InMemoryStorage() })],
149
+ * plugins: [new ContextOffloader({
150
+ * storage: new InMemoryStorage(),
151
+ * })],
108
152
  * })
109
153
  * ```
110
154
  */
111
155
  export class ContextOffloader {
112
156
  name = 'strands:context-offloader';
157
+ static _DEFAULT_EVICT_AFTER_CYCLES = 20;
158
+ _sandboxableStorage;
113
159
  _storage;
114
160
  _maxResultTokens;
115
161
  _previewTokens;
116
162
  _includeRetrievalTool;
163
+ _evictAfterCycles;
117
164
  _storageByAgent = new WeakMap();
165
+ _keyStoredAt = new Map();
118
166
  _retrievalTool;
119
167
  constructor(config) {
120
168
  const maxResultTokens = config.maxResultTokens ?? DEFAULT_MAX_RESULT_TOKENS;
@@ -125,25 +173,64 @@ export class ContextOffloader {
125
173
  throw new Error('previewTokens must be non-negative');
126
174
  if (previewTokens >= maxResultTokens)
127
175
  throw new Error('previewTokens must be less than maxResultTokens');
128
- this._storage = config.storage;
176
+ const evictAfterCycles = config.evictAfterCycles === undefined ? ContextOffloader._DEFAULT_EVICT_AFTER_CYCLES : config.evictAfterCycles;
177
+ if (evictAfterCycles !== null && (!Number.isInteger(evictAfterCycles) || evictAfterCycles < 1)) {
178
+ throw new Error('evictAfterCycles must be a positive integer');
179
+ }
180
+ if (isOffloaderStorage(config.storage)) {
181
+ this._storage = config.storage;
182
+ }
183
+ else if (NAMESPACED in config.storage) {
184
+ this._storage = config.storage;
185
+ }
186
+ else if (config.storage.namespace) {
187
+ this._storage = config.storage.namespace('offloader');
188
+ }
189
+ else {
190
+ this._storage = namespace(config.storage, 'offloader');
191
+ }
192
+ this._sandboxableStorage =
193
+ !isOffloaderStorage(this._storage) && 'forSandbox' in this._storage
194
+ ? this._storage
195
+ : undefined;
129
196
  this._maxResultTokens = maxResultTokens;
130
197
  this._previewTokens = previewTokens;
131
198
  this._includeRetrievalTool = config.includeRetrievalTool ?? true;
199
+ this._evictAfterCycles = evictAfterCycles;
132
200
  }
133
201
  initAgent(agent) {
134
- if (this._storage instanceof InMemoryStorage) {
135
- this._storage._bind(agent);
202
+ if (this._storage instanceof LegacyInMemoryStorage) {
203
+ this._storage._bind(agent, this._evictAfterCycles);
136
204
  }
137
205
  this._storageForAgent(agent);
138
206
  agent.addHook(AfterToolCallEvent, (event) => this._handleToolResult(event));
139
- let cycleCount = 0;
140
207
  agent.addHook(BeforeModelCallEvent, () => {
141
- cycleCount++;
142
- if (this._storage instanceof InMemoryStorage) {
208
+ const cycleCount = agent.metrics.cycleCount;
209
+ if (this._storage instanceof LegacyInMemoryStorage) {
143
210
  this._storage._evict(cycleCount);
144
211
  }
212
+ else if (this._evictAfterCycles !== null) {
213
+ this._evict(cycleCount, agent);
214
+ }
145
215
  });
146
216
  }
217
+ _evict(currentCycle, agent) {
218
+ const threshold = currentCycle - this._evictAfterCycles;
219
+ const toEvict = [];
220
+ for (const [key, storedCycle] of this._keyStoredAt) {
221
+ if (storedCycle < threshold) {
222
+ toEvict.push(key);
223
+ }
224
+ }
225
+ if (toEvict.length === 0)
226
+ return;
227
+ const storage = this._storageForAgent(agent);
228
+ for (const key of toEvict) {
229
+ this._keyStoredAt.delete(key);
230
+ storage.delete(key).catch(() => { });
231
+ }
232
+ logger.debug(`evicted=<${toEvict.length}>, threshold=<${threshold}> | evicted stale offloaded entries`);
233
+ }
147
234
  getTools() {
148
235
  if (!this._includeRetrievalTool)
149
236
  return [];
@@ -152,20 +239,25 @@ export class ContextOffloader {
152
239
  return [this._retrievalTool];
153
240
  }
154
241
  _storageForAgent(agent) {
155
- if (!(this._storage instanceof FileStorage))
242
+ if (!this._sandboxableStorage && !(this._storage instanceof FileStorage))
156
243
  return this._storage;
157
244
  let storage = this._storageByAgent.get(agent);
158
245
  if (!storage) {
159
- storage = this._storage.forSandbox(agent.sandbox);
246
+ if (this._sandboxableStorage) {
247
+ storage = this._sandboxableStorage.forSandbox(agent.sandbox);
248
+ }
249
+ else {
250
+ storage = this._storage.forSandbox(agent.sandbox);
251
+ }
160
252
  this._storageByAgent.set(agent, storage);
161
253
  }
162
254
  return storage;
163
255
  }
164
256
  _storageForToolContext(context) {
165
- if (!(this._storage instanceof FileStorage))
257
+ if (!this._sandboxableStorage && !(this._storage instanceof FileStorage))
166
258
  return this._storage;
167
259
  if (!context) {
168
- throw new Error('FileStorage retrieval requires a tool execution context.');
260
+ throw new Error('File-based storage retrieval requires a tool execution context.');
169
261
  }
170
262
  return this._storageForAgent(context.agent);
171
263
  }
@@ -191,7 +283,7 @@ export class ContextOffloader {
191
283
  callback: async (input, context) => {
192
284
  try {
193
285
  const storage = this._storageForToolContext(context);
194
- const result = await storage.retrieve(input.reference);
286
+ const result = await retrieveContent(storage, input.reference);
195
287
  if (!input.pattern && !input.line_range && input.context_lines === undefined) {
196
288
  return decodeStoredContent(result.content, result.contentType, input.reference);
197
289
  }
@@ -211,13 +303,13 @@ export class ContextOffloader {
211
303
  }
212
304
  async _storeBlock(storage, block, key) {
213
305
  if (block instanceof TextBlock && block.text) {
214
- const ref = await storage.store(key, new TextEncoder().encode(block.text), 'text/plain');
306
+ const ref = await storeContent(storage, key, new TextEncoder().encode(block.text), 'text/plain');
215
307
  return { ref, contentType: 'text/plain', description: `text, ${block.text.length.toLocaleString()} chars` };
216
308
  }
217
309
  if (block instanceof JsonBlock) {
218
310
  const jsonStr = JSON.stringify(block.json, null, 2);
219
311
  const jsonBytes = new TextEncoder().encode(jsonStr);
220
- const ref = await storage.store(key, jsonBytes, 'application/json');
312
+ const ref = await storeContent(storage, key, jsonBytes, 'application/json');
221
313
  return { ref, contentType: 'application/json', description: `json, ${jsonBytes.length.toLocaleString()} bytes` };
222
314
  }
223
315
  if (block instanceof ImageBlock || block instanceof VideoBlock || block instanceof DocumentBlock) {
@@ -229,7 +321,7 @@ export class ContextOffloader {
229
321
  : `application/${block.format}`;
230
322
  const label = block instanceof DocumentBlock ? block.name : contentType;
231
323
  if (bytes) {
232
- const ref = await storage.store(key, bytes, contentType);
324
+ const ref = await storeContent(storage, key, bytes, contentType);
233
325
  return { ref, contentType, description: `${label}, ${bytes.length.toLocaleString()} bytes` };
234
326
  }
235
327
  return { ref: '', contentType, description: `${label}, 0 bytes` };
@@ -285,6 +377,13 @@ export class ContextOffloader {
285
377
  try {
286
378
  const storage = this._storageForAgent(event.agent);
287
379
  references = await Promise.all(content.map((block, i) => this._storeBlock(storage, block, `${toolUseId}_${i}`)));
380
+ if (!isOffloaderStorage(storage)) {
381
+ const storedAt = event.agent.metrics.cycleCount;
382
+ for (const entry of references) {
383
+ if (entry.ref)
384
+ this._keyStoredAt.set(entry.ref, storedAt);
385
+ }
386
+ }
288
387
  }
289
388
  catch (err) {
290
389
  logger.warn(`tool_use_id=<${toolUseId}> | failed to offload tool result, keeping original`, err);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,20 @@
1
1
  /**
2
- * Storage backends for offloaded tool result content.
2
+ * Legacy storage backends for offloaded tool result content.
3
3
  *
4
- * This module defines the {@link Storage} interface and provides three built-in
5
- * implementations: {@link InMemoryStorage}, {@link FileStorage}, and {@link S3Storage}.
6
- * Each content block from a tool result is stored individually with its content type preserved.
4
+ * @deprecated Use the unified `Storage` from `@strands-agents/sdk/storage` instead.
5
+ * This module's `Storage` interface and its implementations (`InMemoryStorage`,
6
+ * `FileStorage`, `S3Storage`) are retained for backwards compatibility only.
7
7
  */
8
8
  import type { Sandbox } from '../../sandbox/base.js';
9
9
  /**
10
10
  * Backend for storing and retrieving offloaded content blocks.
11
11
  *
12
12
  * Implement this interface to create custom storage backends (e.g., Redis, DynamoDB).
13
- * The SDK ships three built-in implementations: {@link InMemoryStorage},
14
- * {@link FileStorage}, and {@link S3Storage}.
13
+ * The SDK ships three built-in implementations: `InMemoryStorage`,
14
+ * `FileStorage`, and `S3Storage`.
15
+ *
16
+ * @deprecated Use the unified `Storage` from `@strands-agents/sdk/storage` interface instead.
17
+ * Pass it directly to `ContextOffloaderConfig.storage` — the plugin adapts it internally.
15
18
  */
16
19
  export interface Storage {
17
20
  /**
@@ -51,13 +54,15 @@ export interface Storage {
51
54
  * Evicted entries are permanently deleted from memory. The agent will receive
52
55
  * an error if it attempts to retrieve evicted content.
53
56
  *
57
+ * @deprecated Pass a unified `Storage` from `@strands-agents/sdk/storage` (e.g.
58
+ * `InMemoryStorage` from `@strands-agents/sdk/storage`) to the ContextOffloader instead.
54
59
  * @param evictAfterTurns - Cycles of inactivity before eviction. Defaults to 20. `null` disables.
55
60
  */
56
61
  export declare class InMemoryStorage implements Storage {
57
62
  private _store;
58
63
  private _counter;
59
64
  private _currentCycle;
60
- private readonly _evictAfterTurns;
65
+ private _evictAfterTurns;
61
66
  private _boundAgent;
62
67
  static readonly DEFAULT_EVICT_AFTER_TURNS = 20;
63
68
  constructor(evictAfterTurns?: number | null);
@@ -69,10 +74,11 @@ export declare class InMemoryStorage implements Storage {
69
74
  contentType: string;
70
75
  }>;
71
76
  /**
72
- * Claim this storage for a single agent. Throws if already bound to a different agent.
77
+ * Claim this storage for a single agent. Optionally override the eviction window
78
+ * when the user hasn't explicitly set one at construction time.
73
79
  * @internal
74
80
  */
75
- _bind(agent: object): void;
81
+ _bind(agent: object, evictAfterCycles?: number | null): void;
76
82
  /**
77
83
  * Update current cycle and evict stale entries.
78
84
  * Called by the ContextOffloader plugin on each BeforeModelCallEvent.
@@ -92,6 +98,9 @@ export declare class InMemoryStorage implements Storage {
92
98
  *
93
99
  * When used by {@link ContextOffloader} without an explicit sandbox, FileStorage is
94
100
  * bound to each agent's sandbox, which may be the default NotASandboxLocalEnvironment.
101
+ *
102
+ * @deprecated Pass a unified `Storage` from `@strands-agents/sdk/storage` (e.g.
103
+ * `LocalFileStorage` from `@strands-agents/sdk/storage`) to the ContextOffloader instead.
95
104
  */
96
105
  export interface FileStorageOptions {
97
106
  /** Directory path where artifact files will be stored. Defaults to `./artifacts`. */
@@ -99,6 +108,9 @@ export interface FileStorageOptions {
99
108
  /** Sandbox to use for direct store/retrieve calls. */
100
109
  sandbox?: Sandbox;
101
110
  }
111
+ /**
112
+ * @deprecated Use `LocalFileStorage` from `@strands-agents/sdk/storage` instead.
113
+ */
102
114
  export declare class FileStorage implements Storage {
103
115
  private static readonly METADATA_FILE;
104
116
  private readonly _artifactDir;
@@ -140,6 +152,8 @@ export declare class FileStorage implements Storage {
140
152
  * Stores offloaded content as S3 objects. Content type is preserved as S3 object metadata.
141
153
  * References are `s3://` URIs for direct access via AWS CLI or SDK.
142
154
  *
155
+ * @deprecated Pass a unified `Storage` from `@strands-agents/sdk/storage` (e.g.
156
+ * `S3Storage` from `@strands-agents/sdk/storage`) to the ContextOffloader instead.
143
157
  * @param bucket - S3 bucket name
144
158
  * @param options - Optional configuration (prefix, region, pre-configured S3Client)
145
159
  */
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/vended-plugins/context-offloader/storage.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Storage backends for offloaded tool result content.
2
+ * Legacy storage backends for offloaded tool result content.
3
3
  *
4
- * This module defines the {@link Storage} interface and provides three built-in
5
- * implementations: {@link InMemoryStorage}, {@link FileStorage}, and {@link S3Storage}.
6
- * Each content block from a tool result is stored individually with its content type preserved.
4
+ * @deprecated Use the unified `Storage` from `@strands-agents/sdk/storage` instead.
5
+ * This module's `Storage` interface and its implementations (`InMemoryStorage`,
6
+ * `FileStorage`, `S3Storage`) are retained for backwards compatibility only.
7
7
  */
8
8
  import { logger } from '../../logging/logger.js';
9
9
  function sanitizeId(rawId) {
@@ -41,6 +41,8 @@ function stripTrailingSlashes(value) {
41
41
  * Evicted entries are permanently deleted from memory. The agent will receive
42
42
  * an error if it attempts to retrieve evicted content.
43
43
  *
44
+ * @deprecated Pass a unified `Storage` from `@strands-agents/sdk/storage` (e.g.
45
+ * `InMemoryStorage` from `@strands-agents/sdk/storage`) to the ContextOffloader instead.
44
46
  * @param evictAfterTurns - Cycles of inactivity before eviction. Defaults to 20. `null` disables.
45
47
  */
46
48
  export class InMemoryStorage {
@@ -73,10 +75,11 @@ export class InMemoryStorage {
73
75
  return { content: entry.content, contentType: entry.contentType };
74
76
  }
75
77
  /**
76
- * Claim this storage for a single agent. Throws if already bound to a different agent.
78
+ * Claim this storage for a single agent. Optionally override the eviction window
79
+ * when the user hasn't explicitly set one at construction time.
77
80
  * @internal
78
81
  */
79
- _bind(agent) {
82
+ _bind(agent, evictAfterCycles) {
80
83
  if (this._boundAgent === null) {
81
84
  this._boundAgent = new WeakRef(agent);
82
85
  }
@@ -84,6 +87,9 @@ export class InMemoryStorage {
84
87
  throw new Error('InMemoryStorage cannot be shared across multiple agents. ' +
85
88
  'Use a separate InMemoryStorage instance per agent.');
86
89
  }
90
+ if (evictAfterCycles !== undefined && this._evictAfterTurns === InMemoryStorage.DEFAULT_EVICT_AFTER_TURNS) {
91
+ this._evictAfterTurns = evictAfterCycles;
92
+ }
87
93
  }
88
94
  /**
89
95
  * Update current cycle and evict stale entries.
@@ -111,6 +117,9 @@ export class InMemoryStorage {
111
117
  this._store.clear();
112
118
  }
113
119
  }
120
+ /**
121
+ * @deprecated Use `LocalFileStorage` from `@strands-agents/sdk/storage` instead.
122
+ */
114
123
  export class FileStorage {
115
124
  static METADATA_FILE = '.metadata.json';
116
125
  _artifactDir;
@@ -266,6 +275,8 @@ export class FileStorage {
266
275
  * Stores offloaded content as S3 objects. Content type is preserved as S3 object metadata.
267
276
  * References are `s3://` URIs for direct access via AWS CLI or SDK.
268
277
  *
278
+ * @deprecated Pass a unified `Storage` from `@strands-agents/sdk/storage` (e.g.
279
+ * `S3Storage` from `@strands-agents/sdk/storage`) to the ContextOffloader instead.
269
280
  * @param bucket - S3 bucket name
270
281
  * @param options - Optional configuration (prefix, region, pre-configured S3Client)
271
282
  */