@strands-agents/sdk 1.17.0 → 1.19.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 (165) hide show
  1. package/README.md +4 -1
  2. package/dist/src/agent/agent-metadata.d.ts +12 -0
  3. package/dist/src/agent/agent-metadata.d.ts.map +1 -0
  4. package/dist/src/agent/agent-metadata.js +2 -0
  5. package/dist/src/agent/agent-metadata.js.map +1 -0
  6. package/dist/src/agent/agent.d.ts +14 -29
  7. package/dist/src/agent/agent.d.ts.map +1 -1
  8. package/dist/src/agent/agent.js +29 -62
  9. package/dist/src/agent/agent.js.map +1 -1
  10. package/dist/src/background-tasks/background-tasks.d.ts.map +1 -1
  11. package/dist/src/background-tasks/background-tasks.js +13 -10
  12. package/dist/src/background-tasks/background-tasks.js.map +1 -1
  13. package/dist/src/context-manager/context-manager.d.ts +27 -4
  14. package/dist/src/context-manager/context-manager.d.ts.map +1 -1
  15. package/dist/src/context-manager/context-manager.js +59 -13
  16. package/dist/src/context-manager/context-manager.js.map +1 -1
  17. package/dist/src/context-manager/methods/summarize.d.ts +6 -0
  18. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -1
  19. package/dist/src/context-manager/methods/summarize.js +9 -0
  20. package/dist/src/context-manager/methods/summarize.js.map +1 -1
  21. package/dist/src/context-manager/presets.d.ts +42 -0
  22. package/dist/src/context-manager/presets.d.ts.map +1 -0
  23. package/dist/src/context-manager/presets.js +71 -0
  24. package/dist/src/context-manager/presets.js.map +1 -0
  25. package/dist/src/context-manager/retrieval-tool.d.ts.map +1 -1
  26. package/dist/src/context-manager/retrieval-tool.js +19 -1
  27. package/dist/src/context-manager/retrieval-tool.js.map +1 -1
  28. package/dist/src/context-manager/stash.d.ts.map +1 -1
  29. package/dist/src/context-manager/stash.js +10 -7
  30. package/dist/src/context-manager/stash.js.map +1 -1
  31. package/dist/src/context-manager/strategies/offload/base.d.ts +13 -7
  32. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -1
  33. package/dist/src/context-manager/strategies/offload/base.js +46 -16
  34. package/dist/src/context-manager/strategies/offload/base.js.map +1 -1
  35. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -1
  36. package/dist/src/context-manager/strategies/offload/summarize.js +11 -12
  37. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -1
  38. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -1
  39. package/dist/src/context-manager/strategies/offload/truncate.js +4 -11
  40. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -1
  41. package/dist/src/context-manager/types.d.ts +11 -1
  42. package/dist/src/context-manager/types.d.ts.map +1 -1
  43. package/dist/src/conversation-manager/compression/context-compression.d.ts +13 -1
  44. package/dist/src/conversation-manager/compression/context-compression.d.ts.map +1 -1
  45. package/dist/src/conversation-manager/compression/context-compression.js +32 -5
  46. package/dist/src/conversation-manager/compression/context-compression.js.map +1 -1
  47. package/dist/src/index.d.ts +8 -0
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +1 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/interventions/registry.d.ts.map +1 -1
  52. package/dist/src/interventions/registry.js +5 -0
  53. package/dist/src/interventions/registry.js.map +1 -1
  54. package/dist/src/models/anthropic.d.ts +30 -0
  55. package/dist/src/models/anthropic.d.ts.map +1 -1
  56. package/dist/src/models/anthropic.js +338 -126
  57. package/dist/src/models/anthropic.js.map +1 -1
  58. package/dist/src/models/bedrock.d.ts +10 -0
  59. package/dist/src/models/bedrock.d.ts.map +1 -1
  60. package/dist/src/models/bedrock.js +25 -15
  61. package/dist/src/models/bedrock.js.map +1 -1
  62. package/dist/src/models/defaults.d.ts.map +1 -1
  63. package/dist/src/models/defaults.js +1 -0
  64. package/dist/src/models/defaults.js.map +1 -1
  65. package/dist/src/models/model.d.ts +12 -2
  66. package/dist/src/models/model.d.ts.map +1 -1
  67. package/dist/src/models/model.js +6 -1
  68. package/dist/src/models/model.js.map +1 -1
  69. package/dist/src/models/openai/cache.d.ts +11 -2
  70. package/dist/src/models/openai/cache.d.ts.map +1 -1
  71. package/dist/src/models/openai/cache.js +32 -6
  72. package/dist/src/models/openai/cache.js.map +1 -1
  73. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -1
  74. package/dist/src/models/openai/chat-adapter.js +10 -4
  75. package/dist/src/models/openai/chat-adapter.js.map +1 -1
  76. package/dist/src/models/openai/mantle.js +1 -1
  77. package/dist/src/models/openai/mantle.js.map +1 -1
  78. package/dist/src/models/openai/responses-adapter.js +1 -1
  79. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  80. package/dist/src/plugins/plugin.d.ts +1 -1
  81. package/dist/src/plugins/registry.js +1 -1
  82. package/dist/src/plugins/registry.js.map +1 -1
  83. package/dist/src/retry/model-retry-strategy.js +16 -3
  84. package/dist/src/retry/model-retry-strategy.js.map +1 -1
  85. package/dist/src/sandbox/errors.d.ts +5 -1
  86. package/dist/src/sandbox/errors.d.ts.map +1 -1
  87. package/dist/src/sandbox/errors.js +7 -1
  88. package/dist/src/sandbox/errors.js.map +1 -1
  89. package/dist/src/sandbox/stream-process.d.ts.map +1 -1
  90. package/dist/src/sandbox/stream-process.js +6 -1
  91. package/dist/src/sandbox/stream-process.js.map +1 -1
  92. package/dist/src/storage/in-memory-storage.d.ts +7 -0
  93. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  94. package/dist/src/storage/in-memory-storage.js +16 -1
  95. package/dist/src/storage/in-memory-storage.js.map +1 -1
  96. package/dist/src/storage/local-file-storage.d.ts +9 -2
  97. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  98. package/dist/src/storage/local-file-storage.js +17 -4
  99. package/dist/src/storage/local-file-storage.js.map +1 -1
  100. package/dist/src/storage/s3-storage.d.ts +4 -0
  101. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  102. package/dist/src/storage/s3-storage.js +8 -0
  103. package/dist/src/storage/s3-storage.js.map +1 -1
  104. package/dist/src/storage/search/qmd.d.ts +10 -6
  105. package/dist/src/storage/search/qmd.d.ts.map +1 -1
  106. package/dist/src/storage/search/qmd.js +4 -6
  107. package/dist/src/storage/search/qmd.js.map +1 -1
  108. package/dist/src/storage/search/types.d.ts +14 -2
  109. package/dist/src/storage/search/types.d.ts.map +1 -1
  110. package/dist/src/tsconfig.tsbuildinfo +1 -1
  111. package/dist/src/types/agent.d.ts +7 -3
  112. package/dist/src/types/agent.d.ts.map +1 -1
  113. package/dist/src/types/agent.js +6 -0
  114. package/dist/src/types/agent.js.map +1 -1
  115. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  116. package/dist/src/vended-plugins/context-offloader/search.js +4 -2
  117. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  118. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.d.ts +28 -0
  119. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.d.ts.map +1 -0
  120. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.js +45 -0
  121. package/dist/src/vended-tools/handoff-to-user/handoff-to-user.js.map +1 -0
  122. package/dist/src/vended-tools/handoff-to-user/index.d.ts +8 -0
  123. package/dist/src/vended-tools/handoff-to-user/index.d.ts.map +1 -0
  124. package/dist/src/vended-tools/handoff-to-user/index.js +6 -0
  125. package/dist/src/vended-tools/handoff-to-user/index.js.map +1 -0
  126. package/dist/src/vended-tools/handoff-to-user/types.d.ts +18 -0
  127. package/dist/src/vended-tools/handoff-to-user/types.d.ts.map +1 -0
  128. package/dist/src/vended-tools/handoff-to-user/types.js +11 -0
  129. package/dist/src/vended-tools/handoff-to-user/types.js.map +1 -0
  130. package/dist/src/vended-tools/index.d.ts +14 -3
  131. package/dist/src/vended-tools/index.d.ts.map +1 -1
  132. package/dist/src/vended-tools/index.js +14 -3
  133. package/dist/src/vended-tools/index.js.map +1 -1
  134. package/dist/src/vended-tools/notebook/index.d.ts +2 -1
  135. package/dist/src/vended-tools/notebook/index.d.ts.map +1 -1
  136. package/dist/src/vended-tools/notebook/index.js +1 -1
  137. package/dist/src/vended-tools/notebook/index.js.map +1 -1
  138. package/dist/src/vended-tools/notebook/notebook.d.ts +38 -8
  139. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  140. package/dist/src/vended-tools/notebook/notebook.js +130 -79
  141. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  142. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -1
  143. package/dist/src/vended-tools/shell/make-shell.js +7 -3
  144. package/dist/src/vended-tools/shell/make-shell.js.map +1 -1
  145. package/dist/src/vended-tools/shell/types.d.ts +10 -5
  146. package/dist/src/vended-tools/shell/types.d.ts.map +1 -1
  147. package/dist/src/vended-tools/shell/types.js +7 -2
  148. package/dist/src/vended-tools/shell/types.js.map +1 -1
  149. package/dist/src/vended-tools/web-fetch/extract.d.ts +23 -0
  150. package/dist/src/vended-tools/web-fetch/extract.d.ts.map +1 -0
  151. package/dist/src/vended-tools/web-fetch/extract.js +130 -0
  152. package/dist/src/vended-tools/web-fetch/extract.js.map +1 -0
  153. package/dist/src/vended-tools/web-fetch/index.d.ts +9 -0
  154. package/dist/src/vended-tools/web-fetch/index.d.ts.map +1 -0
  155. package/dist/src/vended-tools/web-fetch/index.js +7 -0
  156. package/dist/src/vended-tools/web-fetch/index.js.map +1 -0
  157. package/dist/src/vended-tools/web-fetch/types.d.ts +40 -0
  158. package/dist/src/vended-tools/web-fetch/types.d.ts.map +1 -0
  159. package/dist/src/vended-tools/web-fetch/types.js +8 -0
  160. package/dist/src/vended-tools/web-fetch/types.js.map +1 -0
  161. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts +14 -0
  162. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts.map +1 -0
  163. package/dist/src/vended-tools/web-fetch/web-fetch.js +175 -0
  164. package/dist/src/vended-tools/web-fetch/web-fetch.js.map +1 -0
  165. package/package.json +24 -4
@@ -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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"}
@@ -5,6 +5,7 @@ import { logger } from '../../../logging/logger.js';
5
5
  import { MessageAddedEvent } from '../../../hooks/events.js';
6
6
  import { Message, TextBlock, ToolResultBlock, ToolUseBlock, CachePointBlock, ReasoningBlock, } from '../../../types/messages.js';
7
7
  import { RETRIEVAL_TOOL_NAME } from '../../retrieval-tool.js';
8
+ import { isPinned } from '../../../conversation-manager/compression/pin-message.js';
8
9
  // --- Shared helpers ---
9
10
  function finiteOrUndefined(value) {
10
11
  return typeof value === 'number' && Number.isFinite(value) ? Math.max(0, value) : undefined;
@@ -68,11 +69,14 @@ export function messageMatchesTarget(message, target, toolNameMap, toolIncludeFi
68
69
  return false;
69
70
  }
70
71
  /**
71
- * Returns target-matching messages excluding the N most recent matches.
72
- * First filters to only messages that match the target, then removes the last N from that set.
72
+ * Returns target-matching messages excluding the most recent matches.
73
+ * First filters to only messages that match the target, then removes the tail.
74
+ *
75
+ * @param preserveRecent - Integer (1 or above): absolute count. Decimal (between 0 and 1 exclusive): ratio of matches to keep.
73
76
  */
74
- export function getOldestMatches(messages, target, count, toolNameMap, toolIncludeFilter, toolExcludeFilter) {
77
+ export function getOldestMatches(messages, target, preserveRecent, toolNameMap, toolIncludeFilter, toolExcludeFilter) {
75
78
  const matching = messages.filter((message) => messageMatchesTarget(message, target, toolNameMap, toolIncludeFilter, toolExcludeFilter));
79
+ const count = preserveRecent > 0 && preserveRecent < 1 ? Math.ceil(matching.length * preserveRecent) : Math.floor(preserveRecent);
76
80
  if (count >= matching.length)
77
81
  return [];
78
82
  return matching.slice(0, -count);
@@ -147,9 +151,12 @@ export function repairAlternation(messages) {
147
151
  const current = messages[readIndex];
148
152
  if (writeIndex > 0 && messages[writeIndex - 1].role === current.role) {
149
153
  const prev = messages[writeIndex - 1];
154
+ const pinned = prev.metadata?.custom?.pinned === true || current.metadata?.custom?.pinned === true;
150
155
  messages[writeIndex - 1] = new Message({
151
156
  role: prev.role,
152
157
  content: [...prev.content, ...current.content],
158
+ trackingId: prev.trackingId,
159
+ ...(pinned ? { metadata: { custom: { pinned: true } } } : {}),
153
160
  });
154
161
  }
155
162
  else {
@@ -198,7 +205,6 @@ export class BaseOffloadStrategy {
198
205
  _threshold;
199
206
  _utilizationThreshold;
200
207
  _preserveRecent;
201
- _removalRatio = 0.3;
202
208
  _includeFilter;
203
209
  _excludeFilter;
204
210
  _stash;
@@ -209,7 +215,7 @@ export class BaseOffloadStrategy {
209
215
  this._target = target;
210
216
  this._threshold = finiteOrUndefined(conditions?.threshold);
211
217
  this._utilizationThreshold = finiteOrUndefined(conditions?.utilization);
212
- this._preserveRecent = Math.floor(finiteOrUndefined(conditions?.preserveRecent) ?? 0);
218
+ this._preserveRecent = finiteOrUndefined(conditions?.preserveRecent) ?? 0;
213
219
  const resolved = resolveToolFilter(target);
214
220
  this._includeFilter = resolved.include;
215
221
  this._excludeFilter = resolved.exclude;
@@ -226,6 +232,9 @@ export class BaseOffloadStrategy {
226
232
  return;
227
233
  agent.addHook(MessageAddedEvent, async (event) => {
228
234
  const messages = event.agent.messages;
235
+ const index = messages.indexOf(event.message);
236
+ if (index >= 0 && isPinned(messages, index))
237
+ return;
229
238
  const toolNameMap = buildToolNameMap(messages);
230
239
  await this._transformBlocks(event.message, messages, toolNameMap, event.agent);
231
240
  });
@@ -234,7 +243,7 @@ export class BaseOffloadStrategy {
234
243
  if (context.stash)
235
244
  this._stash = context.stash;
236
245
  if (this._isMessageLevel) {
237
- if (context.utilization < this._utilizationThreshold)
246
+ if (!context.overflow && context.utilization < this._utilizationThreshold)
238
247
  return false;
239
248
  return this._applyPerMessage(context);
240
249
  }
@@ -249,13 +258,16 @@ export class BaseOffloadStrategy {
249
258
  : messages;
250
259
  let acted = false;
251
260
  for (const message of eligible) {
261
+ const index = messages.indexOf(message);
262
+ if (isPinned(messages, index))
263
+ continue;
252
264
  if (await this._transformBlocks(message, messages, toolNameMap, agent)) {
253
265
  acted = true;
254
266
  }
255
267
  }
256
268
  return acted;
257
269
  }
258
- /** Message-level execution: remove oldest 30% of eligible messages with pair safety. */
270
+ /** Message-level execution: remove eligible messages with pair safety. */
259
271
  async _applyPerMessage(context) {
260
272
  const { messages } = context;
261
273
  if (messages.length <= 1)
@@ -263,9 +275,7 @@ export class BaseOffloadStrategy {
263
275
  const eligible = await this._getEligibleMessages(context);
264
276
  if (eligible.length === 0)
265
277
  return false;
266
- const targetRemoval = Math.max(1, Math.floor(eligible.length * this._removalRatio));
267
- const toRemove = eligible.slice(0, targetRemoval);
268
- const { removed, lowestIndex } = spliceWithPairs(messages, toRemove);
278
+ const { removed, lowestIndex } = spliceWithPairs(messages, eligible);
269
279
  if (removed === 0)
270
280
  return false;
271
281
  const marker = this._makeRemovalMarker(removed);
@@ -327,10 +337,14 @@ export class BaseOffloadStrategy {
327
337
  const toolNameMap = buildToolNameMap(messages);
328
338
  let candidates;
329
339
  if (this._preserveRecent > 0) {
330
- candidates = getOldestMatches(messages, this._target, this._preserveRecent, toolNameMap, this._includeFilter, this._excludeFilter).filter((message) => messages.indexOf(message) > 0);
340
+ candidates = getOldestMatches(messages, this._target, this._preserveRecent, toolNameMap, this._includeFilter, this._excludeFilter).filter((message) => {
341
+ const index = messages.indexOf(message);
342
+ return index > 0 && !isPinned(messages, index);
343
+ });
331
344
  }
332
345
  else {
333
346
  candidates = messages.filter((message, index) => index > 0 &&
347
+ !isPinned(messages, index) &&
334
348
  messageMatchesTarget(message, this._target, toolNameMap, this._includeFilter, this._excludeFilter));
335
349
  }
336
350
  if (this._threshold === undefined)
@@ -354,6 +368,7 @@ export class BaseOffloadStrategy {
354
368
  }
355
369
  }
356
370
  // --- Emergency truncation strategy ---
371
+ const EMERGENCY_REMOVAL_RATIO = 0.2;
357
372
  /**
358
373
  * Last-resort strategy that recomputes utilization and drops the oldest 20% of messages
359
374
  * when the context window is still overflowing after all user-configured strategies have run.
@@ -365,7 +380,6 @@ export class BaseOffloadStrategy {
365
380
  */
366
381
  export class EmergencyTruncateStrategy extends BaseOffloadStrategy {
367
382
  name = 'offload:emergency-truncate';
368
- _removalRatio = 0.2;
369
383
  constructor() {
370
384
  super('*');
371
385
  }
@@ -375,11 +389,27 @@ export class EmergencyTruncateStrategy extends BaseOffloadStrategy {
375
389
  async apply(context) {
376
390
  if (context.messages.length <= 3)
377
391
  return false;
378
- const tokens = await context.agent.model.countTokens(context.messages);
379
- const utilization = context.agent.model.estimateUtilization(tokens);
380
- if (utilization < 1.0)
392
+ if (!context.overflow) {
393
+ const tokens = await context.agent.model.countTokens(context.messages);
394
+ const utilization = context.agent.model.estimateUtilization(tokens);
395
+ if (utilization < 1.0)
396
+ return false;
397
+ }
398
+ return this._applyPerMessage(context);
399
+ }
400
+ /** Drop the oldest 20% of non-head messages each pass. */
401
+ async _applyPerMessage(context) {
402
+ const { messages } = context;
403
+ if (messages.length <= 3)
404
+ return false;
405
+ const removable = messages.filter((_, index) => index > 0);
406
+ const removeCount = Math.max(1, Math.floor(removable.length * EMERGENCY_REMOVAL_RATIO));
407
+ const toRemove = removable.slice(0, removeCount);
408
+ const { removed } = spliceWithPairs(messages, toRemove);
409
+ if (removed === 0)
381
410
  return false;
382
- return this._applyPerMessage({ ...context, utilization });
411
+ repairAlternation(messages);
412
+ return true;
383
413
  }
384
414
  async _replaceBlock() {
385
415
  return null;
@@ -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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"}
@@ -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,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"}
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;cA0ClE,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"}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { logger } from '../../../logging/logger.js';
7
7
  import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
8
- import { flattenMessagesToContent, SUMMARIZED_PREFIX, summarizeContent, toolResultToContentBlocks, } from '../../methods/summarize.js';
8
+ import { flattenMessagesToContent, formatSummarized, summarizeContent, toolResultToContentBlocks, } from '../../methods/summarize.js';
9
9
  import { formatStashRefs } from '../../stash.js';
10
10
  import { BaseOffloadStrategy, collectRemovableWithPair, spliceWithPairs, repairAlternation, } from './base.js';
11
11
  export class SummarizeStrategy extends BaseOffloadStrategy {
@@ -35,11 +35,9 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
35
35
  const eligible = await this._getEligibleMessages(context);
36
36
  if (eligible.length === 0)
37
37
  return false;
38
- const summarizeCount = Math.max(1, Math.floor(eligible.length * this._removalRatio));
39
- const toSummarize = eligible.slice(0, summarizeCount);
40
38
  // Expand to include paired messages so we don't orphan tool pairs
41
39
  const safeSet = new Set();
42
- for (const message of toSummarize) {
40
+ for (const message of eligible) {
43
41
  const index = messages.indexOf(message);
44
42
  if (index === -1)
45
43
  continue;
@@ -57,9 +55,7 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
57
55
  const totalTokens = await model.countTokens(safe);
58
56
  const summaryMessage = new Message({
59
57
  role: 'user',
60
- content: [
61
- new TextBlock(`${SUMMARIZED_PREFIX} ${safe.length} messages, ~${totalTokens.toLocaleString()} tokens]\n\n${summary}`),
62
- ],
58
+ content: [new TextBlock(formatSummarized(`${safe.length} messages`, totalTokens, summary))],
63
59
  });
64
60
  const { lowestIndex } = spliceWithPairs(messages, safe);
65
61
  const insertIndex = Math.max(1, Math.min(lowestIndex, messages.length));
@@ -80,9 +76,7 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
80
76
  return new ToolResultBlock({
81
77
  toolUseId: block.toolUseId,
82
78
  status: block.status,
83
- content: [
84
- new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens |${formatStashRefs(stashRefs)}]\n\n${summary}`),
85
- ],
79
+ content: [new TextBlock(`${formatSummarized('tool result', tokens, summary)}${formatStashRefs(stashRefs)}`)],
86
80
  });
87
81
  }
88
82
  if (block instanceof TextBlock) {
@@ -90,10 +84,15 @@ export class SummarizeStrategy extends BaseOffloadStrategy {
90
84
  if (!summary)
91
85
  return null;
92
86
  logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | summarized text block`);
93
- return new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens |${formatStashRefs(stashRefs)}]\n\n${summary}`);
87
+ return new TextBlock(`${formatSummarized('text block', tokens, summary)}${formatStashRefs(stashRefs)}`);
88
+ }
89
+ const summary = await summarizeContent([block], model, this._config);
90
+ if (summary) {
91
+ logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | summarized media block`);
92
+ return new TextBlock(`${formatSummarized('media block', tokens, summary)}${formatStashRefs(stashRefs)}`);
94
93
  }
95
94
  logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | offloaded media block`);
96
- return new TextBlock(`[Offloaded: ~${tokens} tokens${formatStashRefs(stashRefs)}]`);
95
+ return new TextBlock(`[Offloaded: ~${tokens} tokens]${formatStashRefs(stashRefs)}`);
97
96
  }
98
97
  _resolveModel(agent) {
99
98
  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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/truncate.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,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE3G,OAAO,EACL,mBAAmB,EAGnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAElB,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,QAAQ,CAAC,IAAI,sBAAqB;IAElC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAmB3F,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,eAAe;cAIjC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;cAInC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;cA+BlE,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAkBhC"}
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/truncate.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,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE3G,OAAO,EACL,mBAAmB,EAGnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,WAAW,CAAA;AAElB,qBAAa,gBAAiB,SAAQ,mBAAmB;IACvD,QAAQ,CAAC,IAAI,sBAAqB;IAElC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;gBAEpC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,iBAAiB;IAmB3F,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,eAAe;cAIjC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;cAInC,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;cAsBlE,aAAa,CAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAkBhC"}
@@ -36,14 +36,7 @@ export class TruncateStrategy extends BaseOffloadStrategy {
36
36
  const eligible = await this._getEligibleMessages(context);
37
37
  if (eligible.length === 0)
38
38
  return false;
39
- // Determine head/tail split based on config (default: favor tail — 30% head, 70% tail)
40
- const previewMode = this._truncateConfig.preview ?? 'headTail';
41
- const headShare = { head: 1, tail: 0, headTail: 0.3 }[previewMode];
42
- const targetRemoval = Math.max(1, Math.floor(eligible.length * this._removalRatio));
43
- const keepCount = eligible.length - targetRemoval;
44
- const headKeep = Math.floor(keepCount * headShare);
45
- const tailKeep = keepCount - headKeep;
46
- const middleMessages = eligible.slice(headKeep, eligible.length - tailKeep);
39
+ const middleMessages = eligible;
47
40
  if (middleMessages.length === 0)
48
41
  return false;
49
42
  const { removed, lowestIndex } = spliceWithPairs(messages, middleMessages);
@@ -68,10 +61,10 @@ export class TruncateStrategy extends BaseOffloadStrategy {
68
61
  logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | truncated text block`);
69
62
  const truncated = truncateTextBlock(block, this._truncateConfig);
70
63
  const refs = formatStashRefs(stashRefs);
71
- return refs ? new TextBlock(`${truncated.text}\n\n[Stashed:${refs}]`) : truncated;
64
+ return refs ? new TextBlock(`${truncated.text}\n\n[Stashed]${refs}`) : truncated;
72
65
  }
73
66
  logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | offloaded media block`);
74
- return new TextBlock(`[Offloaded: ~${tokens} tokens${formatStashRefs(stashRefs)}]`);
67
+ return new TextBlock(`[Offloaded: ~${tokens} tokens]${formatStashRefs(stashRefs)}`);
75
68
  }
76
69
  }
77
70
  function appendStashRefs(block, stashRefs) {
@@ -82,7 +75,7 @@ function appendStashRefs(block, stashRefs) {
82
75
  for (let index = 0; index < content.length; index++) {
83
76
  const item = content[index];
84
77
  if (item instanceof TextBlock) {
85
- content[index] = new TextBlock(`${item.text}\n\n[Stashed:${refs}]`);
78
+ content[index] = new TextBlock(`${item.text}\n\n[Stashed]${refs}`);
86
79
  return new ToolResultBlock({
87
80
  toolUseId: block.toolUseId,
88
81
  status: block.status,
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/truncate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/truncate.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { Storage } from '../storage/storage.js';
5
5
  import type { Stash } from './stash.js';
6
6
  import type { LocalAgent } from '../types/agent.js';
7
7
  import type { Message } from '../types/messages.js';
8
+ import type { StrategyPresetName } from './presets.js';
8
9
  /**
9
10
  * A context reduction strategy that can offload, summarize, or otherwise
10
11
  * transform the message array to reduce token usage.
@@ -40,6 +41,12 @@ export interface ContextState {
40
41
  agent: LocalAgent;
41
42
  /** Current context utilization ratio (0-1+). Above 1.0 means overflow. */
42
43
  utilization: number;
44
+ /**
45
+ * Set when running in response to a `ContextWindowOverflowError`.
46
+ * Strategies should bypass utilization gates when true — the provider
47
+ * already rejected the request, so the estimate is not trustworthy.
48
+ */
49
+ overflow?: boolean;
43
50
  /** L1 stash for persisting offloaded content. Present when storage is configured. */
44
51
  stash?: Stash;
45
52
  }
@@ -69,8 +76,11 @@ export interface ContextManagerConfig {
69
76
  * sees the output of the previous. Order determines priority — if two strategies
70
77
  * target the same content, the first one to shrink it below the next strategy's
71
78
  * threshold wins. When omitted, uses the default pipeline.
79
+ *
80
+ * Accepts raw `ContextStrategy` objects, preset name strings (e.g. `'largeToolOffloading'`),
81
+ * or a mix of both. Preset strings are resolved to their default strategy configurations.
72
82
  */
73
- strategies?: ContextStrategy[];
83
+ strategies?: (ContextStrategy | StrategyPresetName)[];
74
84
  /**
75
85
  * L1 stash configuration. The stash persists offloaded content so the agent can
76
86
  * retrieve it on demand via the `retrieve_context` tool.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context-manager/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IAE7C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,+FAA+F;IAC/F,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB,0BAA0B;IAC1B,KAAK,EAAE,UAAU,CAAA;IAEjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IAEnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;IAE9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context-manager/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IAE7C;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,+FAA+F;IAC/F,QAAQ,EAAE,OAAO,EAAE,CAAA;IAEnB,0BAA0B;IAC1B,KAAK,EAAE,UAAU,CAAA;IAEjB,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB,qFAAqF;IACrF,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAA;IAErD;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAA;CAC9B"}