@strands-agents/sdk 1.17.0 → 1.18.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 (129) hide show
  1. package/dist/src/agent/agent-metadata.d.ts +12 -0
  2. package/dist/src/agent/agent-metadata.d.ts.map +1 -0
  3. package/dist/src/agent/agent-metadata.js +2 -0
  4. package/dist/src/agent/agent-metadata.js.map +1 -0
  5. package/dist/src/agent/agent.d.ts +11 -28
  6. package/dist/src/agent/agent.d.ts.map +1 -1
  7. package/dist/src/agent/agent.js +11 -54
  8. package/dist/src/agent/agent.js.map +1 -1
  9. package/dist/src/context-manager/context-manager.d.ts +25 -4
  10. package/dist/src/context-manager/context-manager.d.ts.map +1 -1
  11. package/dist/src/context-manager/context-manager.js +57 -13
  12. package/dist/src/context-manager/context-manager.js.map +1 -1
  13. package/dist/src/context-manager/methods/summarize.d.ts +6 -0
  14. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -1
  15. package/dist/src/context-manager/methods/summarize.js +9 -0
  16. package/dist/src/context-manager/methods/summarize.js.map +1 -1
  17. package/dist/src/context-manager/presets.d.ts +42 -0
  18. package/dist/src/context-manager/presets.d.ts.map +1 -0
  19. package/dist/src/context-manager/presets.js +71 -0
  20. package/dist/src/context-manager/presets.js.map +1 -0
  21. package/dist/src/context-manager/retrieval-tool.d.ts.map +1 -1
  22. package/dist/src/context-manager/retrieval-tool.js +19 -1
  23. package/dist/src/context-manager/retrieval-tool.js.map +1 -1
  24. package/dist/src/context-manager/stash.d.ts.map +1 -1
  25. package/dist/src/context-manager/stash.js +10 -7
  26. package/dist/src/context-manager/stash.js.map +1 -1
  27. package/dist/src/context-manager/strategies/offload/base.d.ts +13 -7
  28. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -1
  29. package/dist/src/context-manager/strategies/offload/base.js +46 -16
  30. package/dist/src/context-manager/strategies/offload/base.js.map +1 -1
  31. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -1
  32. package/dist/src/context-manager/strategies/offload/summarize.js +11 -12
  33. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -1
  34. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -1
  35. package/dist/src/context-manager/strategies/offload/truncate.js +4 -11
  36. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -1
  37. package/dist/src/context-manager/types.d.ts +11 -1
  38. package/dist/src/context-manager/types.d.ts.map +1 -1
  39. package/dist/src/index.d.ts +8 -0
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +1 -0
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/models/defaults.d.ts.map +1 -1
  44. package/dist/src/models/defaults.js +1 -0
  45. package/dist/src/models/defaults.js.map +1 -1
  46. package/dist/src/models/model.d.ts +12 -2
  47. package/dist/src/models/model.d.ts.map +1 -1
  48. package/dist/src/models/model.js.map +1 -1
  49. package/dist/src/models/openai/cache.d.ts +11 -2
  50. package/dist/src/models/openai/cache.d.ts.map +1 -1
  51. package/dist/src/models/openai/cache.js +32 -6
  52. package/dist/src/models/openai/cache.js.map +1 -1
  53. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -1
  54. package/dist/src/models/openai/chat-adapter.js +10 -4
  55. package/dist/src/models/openai/chat-adapter.js.map +1 -1
  56. package/dist/src/models/openai/mantle.js +1 -1
  57. package/dist/src/models/openai/mantle.js.map +1 -1
  58. package/dist/src/models/openai/responses-adapter.js +1 -1
  59. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  60. package/dist/src/plugins/plugin.d.ts +1 -1
  61. package/dist/src/plugins/registry.js +1 -1
  62. package/dist/src/plugins/registry.js.map +1 -1
  63. package/dist/src/sandbox/errors.d.ts +5 -1
  64. package/dist/src/sandbox/errors.d.ts.map +1 -1
  65. package/dist/src/sandbox/errors.js +7 -1
  66. package/dist/src/sandbox/errors.js.map +1 -1
  67. package/dist/src/sandbox/stream-process.js +1 -1
  68. package/dist/src/sandbox/stream-process.js.map +1 -1
  69. package/dist/src/storage/in-memory-storage.d.ts +7 -0
  70. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  71. package/dist/src/storage/in-memory-storage.js +16 -1
  72. package/dist/src/storage/in-memory-storage.js.map +1 -1
  73. package/dist/src/storage/local-file-storage.d.ts +9 -2
  74. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  75. package/dist/src/storage/local-file-storage.js +17 -4
  76. package/dist/src/storage/local-file-storage.js.map +1 -1
  77. package/dist/src/storage/s3-storage.d.ts +4 -0
  78. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  79. package/dist/src/storage/s3-storage.js +8 -0
  80. package/dist/src/storage/s3-storage.js.map +1 -1
  81. package/dist/src/storage/search/qmd.d.ts +10 -6
  82. package/dist/src/storage/search/qmd.d.ts.map +1 -1
  83. package/dist/src/storage/search/qmd.js +4 -6
  84. package/dist/src/storage/search/qmd.js.map +1 -1
  85. package/dist/src/storage/search/types.d.ts +14 -2
  86. package/dist/src/storage/search/types.d.ts.map +1 -1
  87. package/dist/src/tsconfig.tsbuildinfo +1 -1
  88. package/dist/src/types/agent.d.ts +1 -3
  89. package/dist/src/types/agent.d.ts.map +1 -1
  90. package/dist/src/types/agent.js.map +1 -1
  91. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  92. package/dist/src/vended-plugins/context-offloader/search.js +4 -2
  93. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  94. package/dist/src/vended-tools/index.d.ts +5 -3
  95. package/dist/src/vended-tools/index.d.ts.map +1 -1
  96. package/dist/src/vended-tools/index.js +5 -3
  97. package/dist/src/vended-tools/index.js.map +1 -1
  98. package/dist/src/vended-tools/notebook/index.d.ts +2 -1
  99. package/dist/src/vended-tools/notebook/index.d.ts.map +1 -1
  100. package/dist/src/vended-tools/notebook/index.js +1 -1
  101. package/dist/src/vended-tools/notebook/index.js.map +1 -1
  102. package/dist/src/vended-tools/notebook/notebook.d.ts +38 -8
  103. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  104. package/dist/src/vended-tools/notebook/notebook.js +130 -79
  105. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  106. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -1
  107. package/dist/src/vended-tools/shell/make-shell.js +7 -3
  108. package/dist/src/vended-tools/shell/make-shell.js.map +1 -1
  109. package/dist/src/vended-tools/shell/types.d.ts +10 -5
  110. package/dist/src/vended-tools/shell/types.d.ts.map +1 -1
  111. package/dist/src/vended-tools/shell/types.js +7 -2
  112. package/dist/src/vended-tools/shell/types.js.map +1 -1
  113. package/dist/src/vended-tools/web-fetch/extract.d.ts +23 -0
  114. package/dist/src/vended-tools/web-fetch/extract.d.ts.map +1 -0
  115. package/dist/src/vended-tools/web-fetch/extract.js +130 -0
  116. package/dist/src/vended-tools/web-fetch/extract.js.map +1 -0
  117. package/dist/src/vended-tools/web-fetch/index.d.ts +9 -0
  118. package/dist/src/vended-tools/web-fetch/index.d.ts.map +1 -0
  119. package/dist/src/vended-tools/web-fetch/index.js +7 -0
  120. package/dist/src/vended-tools/web-fetch/index.js.map +1 -0
  121. package/dist/src/vended-tools/web-fetch/types.d.ts +40 -0
  122. package/dist/src/vended-tools/web-fetch/types.d.ts.map +1 -0
  123. package/dist/src/vended-tools/web-fetch/types.js +8 -0
  124. package/dist/src/vended-tools/web-fetch/types.js.map +1 -0
  125. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts +14 -0
  126. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts.map +1 -0
  127. package/dist/src/vended-tools/web-fetch/web-fetch.js +175 -0
  128. package/dist/src/vended-tools/web-fetch/web-fetch.js.map +1 -0
  129. package/package.json +17 -1
@@ -9,8 +9,15 @@ import { InMemoryStorage } from '../storage/in-memory-storage.js';
9
9
  import { EPHEMERAL } from '../storage/storage.js';
10
10
  import { logger } from '../logging/logger.js';
11
11
  import { EmergencyTruncateStrategy, Offload } from './strategies/offload/index.js';
12
+ import { resolveStrategies } from './presets.js';
12
13
  import { Stash } from './stash.js';
13
14
  import { createRetrievalTool, trackRetrievalToolUseIds } from './retrieval-tool.js';
15
+ const AUTO_TRUNCATE_THRESHOLD = 1_500;
16
+ const AGENTIC_TRUNCATE_THRESHOLD = 8_000;
17
+ const TRUNCATE_PREVIEW_TOKENS = 750;
18
+ const AUTO_SUMMARIZE_UTILIZATION = 0.85;
19
+ /** @internal */
20
+ export const CONTEXT_MANAGER_PRESETS = ['auto', 'agentic'];
14
21
  /**
15
22
  * Manages context reduction for an agent's conversation.
16
23
  *
@@ -18,9 +25,10 @@ import { createRetrievalTool, trackRetrievalToolUseIds } from './retrieval-tool.
18
25
  * The emergency truncation is always appended as the final strategy — it recomputes
19
26
  * utilization and only fires if the window is still overflowing after user strategies.
20
27
  *
21
- * The ContextManager is a first-class agent component — pass it via the
22
- * `contextManager` parameter on the Agent constructor. When present, it owns
23
- * overflow recovery no separate ConversationManager is needed.
28
+ * Configured through the Agent's `contextManager` parameter — pass a preset
29
+ * string (`'auto'`, `'agentic'`) or a `ContextManagerConfig`; the Agent
30
+ * constructs and registers the manager. When present, it owns overflow
31
+ * recovery and proactive compression — no separate ConversationManager is needed.
24
32
  *
25
33
  * @experimental
26
34
  */
@@ -34,18 +42,47 @@ export class ContextManager {
34
42
  _stashIsDurable = false;
35
43
  _retrievalTool;
36
44
  constructor(config) {
37
- this._strategies = [
38
- ...(config?.strategies ?? [
39
- Offload.truncate('toolResults').when({ threshold: 2500 }),
40
- Offload.summarize('*').when({ threshold: 1000, utilization: 0.85 }),
41
- ]),
42
- new EmergencyTruncateStrategy(),
43
- ];
45
+ const userStrategies = config?.strategies
46
+ ? resolveStrategies(config.strategies)
47
+ : [
48
+ Offload.truncate('toolResults', { previewTokens: TRUNCATE_PREVIEW_TOKENS }).when({
49
+ threshold: AUTO_TRUNCATE_THRESHOLD,
50
+ }),
51
+ Offload.summarize('*').when({ utilization: AUTO_SUMMARIZE_UTILIZATION, preserveRecent: 4 }),
52
+ ];
53
+ this._strategies = [...userStrategies, new EmergencyTruncateStrategy()];
44
54
  const stashConfig = config?.stash;
45
55
  const stashObj = typeof stashConfig === 'object' ? stashConfig : undefined;
46
56
  this._stashStorage = stashConfig === false ? false : stashObj?.storage;
47
57
  this._enableRetrievalTool = stashConfig !== false && stashObj?.retrievalTool !== false;
48
58
  }
59
+ /**
60
+ * Resolves a `ContextManagerStrategy` value into a `ContextManager` instance.
61
+ *
62
+ * @param strategy - A preset string, config object, false, or undefined
63
+ * @returns A ContextManager for preset strings and configs; undefined for false/undefined
64
+ */
65
+ static from(strategy) {
66
+ if (strategy === false || strategy === undefined)
67
+ return undefined;
68
+ if (strategy === 'auto') {
69
+ return new ContextManager();
70
+ }
71
+ if (strategy === 'agentic') {
72
+ return new ContextManager({
73
+ strategies: [
74
+ Offload.truncate('toolResults', { previewTokens: TRUNCATE_PREVIEW_TOKENS }).when({
75
+ threshold: AGENTIC_TRUNCATE_THRESHOLD,
76
+ }),
77
+ Offload.summarize('*').when({ utilization: 1, preserveRecent: 4 }),
78
+ ],
79
+ });
80
+ }
81
+ if (typeof strategy === 'string') {
82
+ throw new Error(`Unknown contextManager preset: "${strategy}". Valid presets: ${CONTEXT_MANAGER_PRESETS.map((s) => `"${s}"`).join(', ')}`);
83
+ }
84
+ return new ContextManager(strategy);
85
+ }
49
86
  getTools() {
50
87
  if (!this._enableRetrievalTool)
51
88
  return [];
@@ -56,7 +93,7 @@ export class ContextManager {
56
93
  }
57
94
  return [this._retrievalTool];
58
95
  }
59
- initAgent(agent) {
96
+ async initAgent(agent) {
60
97
  if (this._stashStorage !== false) {
61
98
  const storage = this._stashStorage ?? agent.storage ?? new InMemoryStorage();
62
99
  this._stashIsDurable = !(EPHEMERAL in storage);
@@ -65,6 +102,10 @@ export class ContextManager {
65
102
  if (this._stash) {
66
103
  const stash = this._stash;
67
104
  const skipSet = this._retrievalToolUseIds;
105
+ for (const message of agent.messages) {
106
+ trackRetrievalToolUseIds(message, skipSet);
107
+ await stash.storeMessage(message, skipSet);
108
+ }
68
109
  agent.addHook(MessageAddedEvent, async (event) => {
69
110
  trackRetrievalToolUseIds(event.message, skipSet);
70
111
  await stash.storeMessage(event.message, skipSet);
@@ -88,7 +129,7 @@ export class ContextManager {
88
129
  overflowRetries = 0;
89
130
  return;
90
131
  }
91
- const acted = await this._runStrategies(event.agent);
132
+ const acted = await this._runStrategies(event.agent, undefined, true);
92
133
  if (!acted) {
93
134
  logger.warn(`agentId=<${event.agent.id}> | no strategy made progress, skipping retry`);
94
135
  return;
@@ -114,18 +155,21 @@ export class ContextManager {
114
155
  get stashIsDurable() {
115
156
  return this._stashIsDurable;
116
157
  }
117
- async _runStrategies(agent, precomputedInputTokens) {
158
+ async _runStrategies(agent, precomputedInputTokens, overflow) {
118
159
  const messages = agent.messages;
119
160
  const inputTokens = precomputedInputTokens ?? (await agent.model.countTokens(messages));
120
161
  const strategyContext = {
121
162
  messages,
122
163
  agent,
123
164
  utilization: agent.model.estimateUtilization(inputTokens),
165
+ ...(overflow ? { overflow: true } : {}),
124
166
  ...(this._stash ? { stash: this._stash } : {}),
125
167
  };
126
168
  let anyActed = false;
127
169
  for (const strategy of this._strategies) {
128
170
  try {
171
+ if (strategy instanceof EmergencyTruncateStrategy && anyActed)
172
+ strategyContext.overflow = false;
129
173
  const acted = await strategy.apply(strategyContext);
130
174
  if (acted) {
131
175
  anyActed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAEnF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,yBAAyB,CAAA;IAExB,WAAW,CAAmB;IAC9B,aAAa,CAA6B;IAC1C,oBAAoB,CAAS;IAC7B,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAA;IACjD,MAAM,CAAmB;IACzB,eAAe,GAAG,KAAK,CAAA;IACvB,cAAc,CAAkB;IAExC,YAAY,MAA6B;QACvC,IAAI,CAAC,WAAW,GAAG;YACjB,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI;gBACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBACzD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aACpE,CAAC;YACF,IAAI,yBAAyB,EAAE;SAChC,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,EAAE,KAAK,CAAA;QACjC,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1E,IAAI,CAAC,aAAa,GAAG,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAA;QACtE,IAAI,CAAC,oBAAoB,GAAG,WAAW,KAAK,KAAK,IAAI,QAAQ,EAAE,aAAa,KAAK,KAAK,CAAA;IACxF,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO,EAAE,CAAA;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACxD,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,KAAiB;QACzB,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,eAAe,EAAE,CAAA;YAC5E,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,CAAA;YAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAA;YACzC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC/C,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAChD,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAClD,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,qEAAqE;QACrE,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACjD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,YAAY,0BAA0B,CAAC,EAAE,CAAC;gBACzD,eAAe,GAAG,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YAED,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,EAAE,6CAA6C,CAAC,CAAA;gBACpF,eAAe,GAAG,CAAC,CAAA;gBACnB,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,EAAE,+CAA+C,CAAC,CAAA;gBACtF,OAAM;YACR,CAAC;YAED,eAAe,EAAE,CAAA;YACjB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAiB,EAAE,sBAA+B;QAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;QAC/B,MAAM,WAAW,GAAG,sBAAsB,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;QAEvF,MAAM,eAAe,GAAiB;YACpC,QAAQ;YACR,KAAK;YACL,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAA;QAED,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;gBACnD,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,GAAG,IAAI,CAAA;oBACf,eAAe,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;oBACtG,MAAM,CAAC,KAAK,CAAC,aAAa,QAAQ,CAAC,IAAI,eAAe,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAA;gBACvF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,aAAa,QAAQ,CAAC,IAAI,eAAe,KAAK,CAAC,EAAE,aAAa,KAAK,iCAAiC,CACrG,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,12 @@ import type { Model } from '../../models/model.js';
9
9
  import { Message } from '../../types/messages.js';
10
10
  import type { ContentBlock, ToolResultContent } from '../../types/messages.js';
11
11
  export declare const SUMMARIZED_PREFIX = "[Summarized:";
12
+ /**
13
+ * Format a `[Summarized: ...]` marker with an optional summary body.
14
+ *
15
+ * @internal
16
+ */
17
+ export declare function formatSummarized(description: string, tokens: number, summary?: string): string;
12
18
  /**
13
19
  * Configuration for the summarize method.
14
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../../src/context-manager/methods/summarize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAa,OAAO,EAA8B,MAAM,yBAAyB,CAAA;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAG9E,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAe/C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAOtF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAa5E"}
1
+ {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../../src/context-manager/methods/summarize.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAa,OAAO,EAA8B,MAAM,yBAAyB,CAAA;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAG9E,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9F;AAeD;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAOtF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAa5E"}
@@ -8,6 +8,15 @@
8
8
  import { JsonBlock, Message, TextBlock, ToolResultBlock } from '../../types/messages.js';
9
9
  import { logger } from '../../logging/logger.js';
10
10
  export const SUMMARIZED_PREFIX = '[Summarized:';
11
+ /**
12
+ * Format a `[Summarized: ...]` marker with an optional summary body.
13
+ *
14
+ * @internal
15
+ */
16
+ export function formatSummarized(description, tokens, summary) {
17
+ const header = `${SUMMARIZED_PREFIX} ${description}, ~${tokens.toLocaleString('en-US')} tokens]`;
18
+ return summary ? `${header}\n\n${summary}` : header;
19
+ }
11
20
  // Subject to change as we benchmark summarization quality.
12
21
  const DEFAULT_SYSTEM_PROMPT = [
13
22
  'You are a summarization assistant. Produce a concise factual summary that preserves:',
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../src/context-manager/methods/summarize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../src/context-manager/methods/summarize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Strategy presets — named building blocks that resolve to concrete strategy configurations.
3
+ *
4
+ * Preset definitions (thresholds, methods, conditions) are internal defaults and may
5
+ * change between releases as we tune based on real-world usage data. Treat the preset
6
+ * name as the stable contract, not its expansion. Use raw `Offload.*` strategies when
7
+ * you need a specific, pinned configuration.
8
+ *
9
+ * @experimental
10
+ */
11
+ import type { ContextStrategy } from './types.js';
12
+ /**
13
+ * Known preset name strings accepted in the strategies array.
14
+ *
15
+ * Preset names are the stable contract. The strategies they resolve to may change
16
+ * between releases.
17
+ *
18
+ * - `'proactiveSummarization'` — batch summarize oldest messages at 70% utilization
19
+ * - `'largeToolOffloading'` — truncate tool results over 2500 tokens to a 1000-token preview
20
+ * - `'overflowProtection'` — truncate oldest messages when the context window is full
21
+ * - `'staleToolCleanup'` — drop tool results older than 5 messages
22
+ */
23
+ export declare const STRATEGY_PRESET_NAMES: readonly ["proactiveSummarization", "largeToolOffloading", "overflowProtection", "staleToolCleanup"];
24
+ /** String union of preset names. */
25
+ export type StrategyPresetName = (typeof STRATEGY_PRESET_NAMES)[number];
26
+ /**
27
+ * Resolves a preset name to its default strategy array.
28
+ *
29
+ * @param name - The preset name
30
+ * @returns The strategy array for the given preset
31
+ * @internal
32
+ */
33
+ export declare function resolvePreset(name: StrategyPresetName): ContextStrategy[];
34
+ /**
35
+ * Resolves a mixed array of strategies and preset names into a flat strategy array.
36
+ *
37
+ * @param entries - Array of raw strategies and/or preset name strings
38
+ * @returns Flattened array of concrete strategies
39
+ * @internal
40
+ */
41
+ export declare function resolveStrategies(entries: (ContextStrategy | StrategyPresetName)[]): ContextStrategy[];
42
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/context-manager/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAGjD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,sGAKxB,CAAA;AAEV,oCAAoC;AACpC,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEvE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,eAAe,EAAE,CAYzE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,eAAe,GAAG,kBAAkB,CAAC,EAAE,GAAG,eAAe,EAAE,CAatG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Strategy presets — named building blocks that resolve to concrete strategy configurations.
3
+ *
4
+ * Preset definitions (thresholds, methods, conditions) are internal defaults and may
5
+ * change between releases as we tune based on real-world usage data. Treat the preset
6
+ * name as the stable contract, not its expansion. Use raw `Offload.*` strategies when
7
+ * you need a specific, pinned configuration.
8
+ *
9
+ * @experimental
10
+ */
11
+ import { Offload } from './strategies/offload/index.js';
12
+ /**
13
+ * Known preset name strings accepted in the strategies array.
14
+ *
15
+ * Preset names are the stable contract. The strategies they resolve to may change
16
+ * between releases.
17
+ *
18
+ * - `'proactiveSummarization'` — batch summarize oldest messages at 70% utilization
19
+ * - `'largeToolOffloading'` — truncate tool results over 2500 tokens to a 1000-token preview
20
+ * - `'overflowProtection'` — truncate oldest messages when the context window is full
21
+ * - `'staleToolCleanup'` — drop tool results older than 5 messages
22
+ */
23
+ export const STRATEGY_PRESET_NAMES = [
24
+ 'proactiveSummarization',
25
+ 'largeToolOffloading',
26
+ 'overflowProtection',
27
+ 'staleToolCleanup',
28
+ ];
29
+ /**
30
+ * Resolves a preset name to its default strategy array.
31
+ *
32
+ * @param name - The preset name
33
+ * @returns The strategy array for the given preset
34
+ * @internal
35
+ */
36
+ export function resolvePreset(name) {
37
+ // Defaults are tuning decisions, not API promises — adjust freely.
38
+ switch (name) {
39
+ case 'proactiveSummarization':
40
+ return [Offload.summarize('*').when({ utilization: 0.7, preserveRecent: 0.7 })];
41
+ case 'largeToolOffloading':
42
+ return [Offload.truncate('toolResults', { previewTokens: 1000 }).when({ threshold: 2500 })];
43
+ case 'overflowProtection':
44
+ return [Offload.truncate('*').when({ utilization: 1.0, preserveRecent: 4 })];
45
+ case 'staleToolCleanup':
46
+ return [Offload.drop('toolResults').when({ preserveRecent: 5 })];
47
+ }
48
+ }
49
+ /**
50
+ * Resolves a mixed array of strategies and preset names into a flat strategy array.
51
+ *
52
+ * @param entries - Array of raw strategies and/or preset name strings
53
+ * @returns Flattened array of concrete strategies
54
+ * @internal
55
+ */
56
+ export function resolveStrategies(entries) {
57
+ const strategies = [];
58
+ for (const entry of entries) {
59
+ if (typeof entry === 'string') {
60
+ if (!STRATEGY_PRESET_NAMES.includes(entry)) {
61
+ throw new Error(`Unknown strategy preset: "${entry}". Valid presets: ${STRATEGY_PRESET_NAMES.join(', ')}`);
62
+ }
63
+ strategies.push(...resolvePreset(entry));
64
+ }
65
+ else {
66
+ strategies.push(entry);
67
+ }
68
+ }
69
+ return strategies;
70
+ }
71
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/context-manager/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,wBAAwB;IACxB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;CACV,CAAA;AAKV;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACpD,mEAAmE;IACnE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,wBAAwB;YAC3B,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACjF,KAAK,qBAAqB;YACxB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7F,KAAK,oBAAoB;YACvB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9E,KAAK,kBAAkB;YACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACpE,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiD;IACjF,MAAM,UAAU,GAAsB,EAAE,CAAA;IACxC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAA2B,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,qBAAqB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5G,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAA2B,CAAC,CAAC,CAAA;QAChE,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-tool.d.ts","sourceRoot":"","sources":["../../../src/context-manager/retrieval-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,eAAO,MAAM,mBAAmB,qBAAqB,CAAA;AAkBrD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CA2ChF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAOrF"}
1
+ {"version":3,"file":"retrieval-tool.d.ts","sourceRoot":"","sources":["../../../src/context-manager/retrieval-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,eAAO,MAAM,mBAAmB,qBAAqB,CAAA;AAkBrD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAiDhF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAOrF"}
@@ -8,6 +8,7 @@
8
8
  import { z } from 'zod';
9
9
  import { tool } from '../tools/tool-factory.js';
10
10
  import { isSearchableContent, searchContent } from '../vended-plugins/context-offloader/search.js';
11
+ import { DocumentBlock, ImageBlock, VideoBlock } from '../types/media.js';
11
12
  import { Message, ToolUseBlock } from '../types/messages.js';
12
13
  export const RETRIEVAL_TOOL_NAME = 'retrieve_context';
13
14
  const DEFAULT_MAX_RESULT_TOKENS = 10_000;
@@ -56,7 +57,15 @@ export function createRetrievalTool(stash, maxResultTokens) {
56
57
  return `Error: reference not found: ${input.reference}`;
57
58
  }
58
59
  if (!input.pattern && !input.line_range) {
59
- return result.data;
60
+ if (result.data && typeof result.data === 'object' && !Array.isArray(result.data)) {
61
+ const media = restoreMedia(result.data);
62
+ if (media)
63
+ return media;
64
+ }
65
+ const serialized = JSON.stringify(result.data);
66
+ if (serialized.length <= maxChars)
67
+ return result.data;
68
+ return `${serialized.slice(0, maxChars)}\n\n[truncated]`;
60
69
  }
61
70
  const text = extractText(result.data);
62
71
  if (!text || !isSearchableContent('text/plain')) {
@@ -82,6 +91,15 @@ export function trackRetrievalToolUseIds(message, skipSet) {
82
91
  }
83
92
  }
84
93
  }
94
+ function restoreMedia(data) {
95
+ if ('image' in data)
96
+ return ImageBlock.fromJSON(data);
97
+ if ('document' in data)
98
+ return DocumentBlock.fromJSON(data);
99
+ if ('video' in data)
100
+ return VideoBlock.fromJSON(data);
101
+ return null;
102
+ }
85
103
  function extractText(data) {
86
104
  if (typeof data === 'string')
87
105
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"retrieval-tool.js","sourceRoot":"","sources":["../../../src/context-manager/retrieval-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retrieval-tool.js","sourceRoot":"","sources":["../../../src/context-manager/retrieval-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGzE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAG5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AAErD,MAAM,yBAAyB,GAAG,MAAM,CAAA;AACxC,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IAC7G,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC5E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KAC1E,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CAC/G,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY,EAAE,eAAwB;IACxE,MAAM,QAAQ,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC,GAAG,eAAe,CAAA;IAEjF,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,uDAAuD;YACvD,iFAAiF;YACjF,8EAA8E;YAC9E,+CAA+C;YAC/C,YAAY;YACZ,kEAAkE;YAClE,0DAA0D;YAC1D,uEAAuE;YACvE,aAAa;YACb,sDAAsD;YACtD,wEAAwE;YACxE,kCAAkC;QACpC,WAAW,EAAE,oBAAoB;QACjC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;YACpD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,+BAA+B,KAAK,CAAC,SAAS,EAAE,CAAA;YACzD,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,IAA+B,CAAC,CAAA;oBAClE,IAAI,KAAK;wBAAE,OAAO,KAA6B,CAAA;gBACjD,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC9C,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ;oBAAE,OAAO,MAAM,CAAC,IAAiB,CAAA;gBAClE,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAA;YAC1D,CAAC;YAED,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,OAAO,0FAA0F,CAAA;YACnG,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA;YAE7C,OAAO,aAAa,CAClB,IAAI,EACJ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,EACrF,QAAQ,CACT,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,OAAoB;IAC7E,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAM;IACxC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAA6B;IACjD,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAiD,CAAC,CAAA;IAClG,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAoD,CAAC,CAAA;IAC3G,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAiD,CAAC,CAAA;IAClG,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACzC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,MAAM,IAAI,IAAI,IAAI,OAAQ,IAAgC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjF,OAAQ,IAAgC,CAAC,IAAc,CAAA;QACzD,CAAC;QACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAE,IAAgC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACxE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stash.d.ts","sourceRoot":"","sources":["../../../src/context-manager/stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,OAAO,EAAkE,MAAM,sBAAsB,CAAA;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD,gBAAgB;AAChB,eAAO,MAAM,YAAY,YAAY,CAAA;AAUrC,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAItD;AAED;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;gBAEpB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOhE;;;;;;;;;;OAUG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAO5E;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzF;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAMpE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAYxD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvD,gBAAgB;CAM/B"}
1
+ {"version":3,"file":"stash.d.ts","sourceRoot":"","sources":["../../../src/context-manager/stash.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAiC,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACnF,OAAO,EAAE,OAAO,EAAkE,MAAM,sBAAsB,CAAA;AAC9G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD,gBAAgB;AAChB,eAAO,MAAM,YAAY,YAAY,CAAA;AAUrC,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAItD;AAED;;;;;GAKG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAEnC,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;gBAEpB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAOhE;;;;;;;;;;OAUG;IACG,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAM9E;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE;IAO5E;;;;;;OAMG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzF;;;;;OAKG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAMpE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI/B;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAYxD;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAIvD,gBAAgB;CAY/B"}
@@ -23,8 +23,8 @@ export function formatStashRefs(refs) {
23
23
  if (refs.length === 0)
24
24
  return '';
25
25
  if (refs.length === 1)
26
- return ` ref: ${refs[0]}`;
27
- return ` refs: ${refs.join(', ')}`;
26
+ return ` [ref: ${refs[0]}]`;
27
+ return ` [refs: ${refs.join(', ')}]`;
28
28
  }
29
29
  /**
30
30
  * Wraps a Storage backend with key management and content framing for the
@@ -91,9 +91,7 @@ export class Stash {
91
91
  if (block instanceof ToolResultBlock) {
92
92
  if (skipToolUseIds?.has(block.toolUseId))
93
93
  continue;
94
- await this._storeToolResult(block).catch((error) => {
95
- logger.debug(`toolUseId=<${block.toolUseId}>, error=<${error}> | failed to stash tool result`);
96
- });
94
+ await this._storeToolResult(block);
97
95
  }
98
96
  else if (block instanceof ToolUseBlock || block instanceof CachePointBlock || block instanceof ReasoningBlock) {
99
97
  continue;
@@ -103,7 +101,7 @@ export class Stash {
103
101
  await this.store(message.trackingId, blockIndex, encode(block.toJSON()));
104
102
  }
105
103
  catch (error) {
106
- logger.debug(`trackingId=<${message.trackingId}>, error=<${error}> | failed to stash block`);
104
+ logger.warn(`trackingId=<${message.trackingId}>, error=<${error}> | failed to stash block`);
107
105
  }
108
106
  }
109
107
  }
@@ -179,7 +177,12 @@ export class Stash {
179
177
  async _storeToolResult(block) {
180
178
  for (let blockIndex = 0; blockIndex < block.content.length; blockIndex++) {
181
179
  const item = block.content[blockIndex];
182
- await this.store(block.toolUseId, blockIndex, encode(item.toJSON()));
180
+ try {
181
+ await this.store(block.toolUseId, blockIndex, encode(item.toJSON()));
182
+ }
183
+ catch (error) {
184
+ logger.warn(`toolUseId=<${block.toolUseId}>, blockIndex=<${blockIndex}>, error=<${error}> | failed to stash sub-block`);
185
+ }
183
186
  }
184
187
  }
185
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../../src/context-manager/stash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stash.js","sourceRoot":"","sources":["../../../src/context-manager/stash.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,11 @@ export interface OffloadConditions {
39
39
  threshold?: number;
40
40
  /** Context utilization ratio (0-1+) above which the strategy fires. */
41
41
  utilization?: number;
42
- /** Number of most recent matching messages to leave untouched. */
42
+ /**
43
+ * How many recent matching messages to leave untouched.
44
+ * - Integer (1 or above): absolute count of messages to preserve.
45
+ * - Decimal (between 0 and 1 exclusive): ratio of matching messages to preserve (e.g. 0.7 = keep 70%).
46
+ */
43
47
  preserveRecent?: number;
44
48
  }
45
49
  /**
@@ -59,10 +63,12 @@ export declare function toolMatchesTarget(block: ToolResultBlock, target: Offloa
59
63
  export declare function targetMatchesMessage(target: OffloadTarget | undefined, message: Message): boolean;
60
64
  export declare function messageMatchesTarget(message: Message, target: OffloadTarget | undefined, toolNameMap: Map<string, string>, toolIncludeFilter: Set<string> | undefined, toolExcludeFilter: Set<string> | undefined): boolean;
61
65
  /**
62
- * Returns target-matching messages excluding the N most recent matches.
63
- * First filters to only messages that match the target, then removes the last N from that set.
66
+ * Returns target-matching messages excluding the most recent matches.
67
+ * First filters to only messages that match the target, then removes the tail.
68
+ *
69
+ * @param preserveRecent - Integer (1 or above): absolute count. Decimal (between 0 and 1 exclusive): ratio of matches to keep.
64
70
  */
65
- export declare function getOldestMatches(messages: Message[], target: OffloadTarget | undefined, count: number, toolNameMap: Map<string, string>, toolIncludeFilter: Set<string> | undefined, toolExcludeFilter: Set<string> | undefined): Message[];
71
+ export declare function getOldestMatches(messages: Message[], target: OffloadTarget | undefined, preserveRecent: number, toolNameMap: Map<string, string>, toolIncludeFilter: Set<string> | undefined, toolExcludeFilter: Set<string> | undefined): Message[];
66
72
  /**
67
73
  * Collects a message and its paired partner (if any) for safe removal.
68
74
  * If removing a message would orphan a tool-use/tool-result pair, includes the partner
@@ -100,7 +106,6 @@ export declare abstract class BaseOffloadStrategy implements ContextStrategy {
100
106
  protected readonly _threshold: number | undefined;
101
107
  protected readonly _utilizationThreshold: number | undefined;
102
108
  protected readonly _preserveRecent: number;
103
- protected readonly _removalRatio: number;
104
109
  protected readonly _includeFilter: Set<string> | undefined;
105
110
  protected readonly _excludeFilter: Set<string> | undefined;
106
111
  protected _stash: Stash | undefined;
@@ -111,7 +116,7 @@ export declare abstract class BaseOffloadStrategy implements ContextStrategy {
111
116
  apply(context: ContextState): Promise<boolean>;
112
117
  /** Per-block execution: walk each message, transform individual blocks above threshold. */
113
118
  private _applyPerBlock;
114
- /** Message-level execution: remove oldest 30% of eligible messages with pair safety. */
119
+ /** Message-level execution: remove eligible messages with pair safety. */
115
120
  protected _applyPerMessage(context: ContextState): Promise<boolean>;
116
121
  /** Override to insert a marker when messages are removed. Return null for no marker. */
117
122
  protected _makeRemovalMarker(_count: number): string | null;
@@ -135,10 +140,11 @@ export declare abstract class BaseOffloadStrategy implements ContextStrategy {
135
140
  */
136
141
  export declare class EmergencyTruncateStrategy extends BaseOffloadStrategy {
137
142
  readonly name = "offload:emergency-truncate";
138
- protected readonly _removalRatio = 0.2;
139
143
  constructor();
140
144
  init(_agent: LocalAgent, stash?: Stash): void;
141
145
  apply(context: ContextState): Promise<boolean>;
146
+ /** Drop the oldest 20% of non-head messages each pass. */
147
+ protected _applyPerMessage(context: ContextState): Promise<boolean>;
142
148
  protected _replaceBlock(): Promise<ContentBlock | null>;
143
149
  }
144
150
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/base.ts"],"names":[],"mappings":"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"}