@strands-agents/sdk 1.16.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 (192) hide show
  1. package/README.md +1 -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 +11 -28
  7. package/dist/src/agent/agent.d.ts.map +1 -1
  8. package/dist/src/agent/agent.js +21 -54
  9. package/dist/src/agent/agent.js.map +1 -1
  10. package/dist/src/context-manager/context-manager.d.ts +47 -5
  11. package/dist/src/context-manager/context-manager.d.ts.map +1 -1
  12. package/dist/src/context-manager/context-manager.js +114 -16
  13. package/dist/src/context-manager/context-manager.js.map +1 -1
  14. package/dist/src/context-manager/methods/summarize.d.ts +8 -2
  15. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -1
  16. package/dist/src/context-manager/methods/summarize.js +9 -2
  17. package/dist/src/context-manager/methods/summarize.js.map +1 -1
  18. package/dist/src/context-manager/methods/truncate.d.ts +2 -2
  19. package/dist/src/context-manager/methods/truncate.d.ts.map +1 -1
  20. package/dist/src/context-manager/methods/truncate.js +0 -2
  21. package/dist/src/context-manager/methods/truncate.js.map +1 -1
  22. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +2 -2
  23. package/dist/src/context-manager/presets.d.ts +42 -0
  24. package/dist/src/context-manager/presets.d.ts.map +1 -0
  25. package/dist/src/context-manager/presets.js +71 -0
  26. package/dist/src/context-manager/presets.js.map +1 -0
  27. package/dist/src/context-manager/retrieval-tool.d.ts +29 -0
  28. package/dist/src/context-manager/retrieval-tool.d.ts.map +1 -0
  29. package/dist/src/context-manager/retrieval-tool.js +116 -0
  30. package/dist/src/context-manager/retrieval-tool.js.map +1 -0
  31. package/dist/src/context-manager/stash.d.ts +107 -0
  32. package/dist/src/context-manager/stash.d.ts.map +1 -0
  33. package/dist/src/context-manager/stash.js +189 -0
  34. package/dist/src/context-manager/stash.js.map +1 -0
  35. package/dist/src/context-manager/strategies/offload/base.d.ts +23 -13
  36. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -1
  37. package/dist/src/context-manager/strategies/offload/base.js +67 -25
  38. package/dist/src/context-manager/strategies/offload/base.js.map +1 -1
  39. package/dist/src/context-manager/strategies/offload/drop.d.ts +2 -2
  40. package/dist/src/context-manager/strategies/offload/drop.d.ts.map +1 -1
  41. package/dist/src/context-manager/strategies/offload/drop.js +6 -4
  42. package/dist/src/context-manager/strategies/offload/drop.js.map +1 -1
  43. package/dist/src/context-manager/strategies/offload/index.d.ts +1 -1
  44. package/dist/src/context-manager/strategies/offload/index.js +1 -1
  45. package/dist/src/context-manager/strategies/offload/summarize.d.ts +2 -2
  46. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -1
  47. package/dist/src/context-manager/strategies/offload/summarize.js +22 -25
  48. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -1
  49. package/dist/src/context-manager/strategies/offload/truncate.d.ts +2 -2
  50. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -1
  51. package/dist/src/context-manager/strategies/offload/truncate.js +34 -12
  52. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -1
  53. package/dist/src/context-manager/types.d.ts +46 -2
  54. package/dist/src/context-manager/types.d.ts.map +1 -1
  55. package/dist/src/experimental/index.d.ts +6 -0
  56. package/dist/src/experimental/index.d.ts.map +1 -1
  57. package/dist/src/experimental/index.js +3 -0
  58. package/dist/src/experimental/index.js.map +1 -1
  59. package/dist/src/index.d.ts +11 -3
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +2 -1
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/mcp/client.d.ts +3 -2
  64. package/dist/src/mcp/client.d.ts.map +1 -1
  65. package/dist/src/mcp/client.js +3 -2
  66. package/dist/src/mcp/client.js.map +1 -1
  67. package/dist/src/mcp/config.d.ts +11 -1
  68. package/dist/src/mcp/config.d.ts.map +1 -1
  69. package/dist/src/mcp/config.js.map +1 -1
  70. package/dist/src/mcp/config.node.d.ts +3 -2
  71. package/dist/src/mcp/config.node.d.ts.map +1 -1
  72. package/dist/src/mcp/config.node.js +6 -3
  73. package/dist/src/mcp/config.node.js.map +1 -1
  74. package/dist/src/mcp/index.d.ts +1 -1
  75. package/dist/src/mcp/index.d.ts.map +1 -1
  76. package/dist/src/models/defaults.d.ts.map +1 -1
  77. package/dist/src/models/defaults.js +1 -0
  78. package/dist/src/models/defaults.js.map +1 -1
  79. package/dist/src/models/model.d.ts +12 -2
  80. package/dist/src/models/model.d.ts.map +1 -1
  81. package/dist/src/models/model.js.map +1 -1
  82. package/dist/src/models/openai/cache.d.ts +38 -2
  83. package/dist/src/models/openai/cache.d.ts.map +1 -1
  84. package/dist/src/models/openai/cache.js +64 -14
  85. package/dist/src/models/openai/cache.js.map +1 -1
  86. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -1
  87. package/dist/src/models/openai/chat-adapter.js +10 -4
  88. package/dist/src/models/openai/chat-adapter.js.map +1 -1
  89. package/dist/src/models/openai/mantle.js +1 -1
  90. package/dist/src/models/openai/mantle.js.map +1 -1
  91. package/dist/src/models/openai/responses-adapter.js +1 -1
  92. package/dist/src/models/openai/responses-adapter.js.map +1 -1
  93. package/dist/src/models/routing/classifier-strategy.d.ts +87 -0
  94. package/dist/src/models/routing/classifier-strategy.d.ts.map +1 -0
  95. package/dist/src/models/routing/classifier-strategy.js +285 -0
  96. package/dist/src/models/routing/classifier-strategy.js.map +1 -0
  97. package/dist/src/models/routing/index.d.ts +2 -0
  98. package/dist/src/models/routing/index.d.ts.map +1 -1
  99. package/dist/src/models/routing/index.js +1 -0
  100. package/dist/src/models/routing/index.js.map +1 -1
  101. package/dist/src/models/routing/router.d.ts +14 -2
  102. package/dist/src/models/routing/router.d.ts.map +1 -1
  103. package/dist/src/models/routing/router.js +43 -8
  104. package/dist/src/models/routing/router.js.map +1 -1
  105. package/dist/src/models/vercel.d.ts +9 -1
  106. package/dist/src/models/vercel.d.ts.map +1 -1
  107. package/dist/src/models/vercel.js +248 -7
  108. package/dist/src/models/vercel.js.map +1 -1
  109. package/dist/src/plugins/plugin.d.ts +1 -1
  110. package/dist/src/plugins/registry.js +1 -1
  111. package/dist/src/plugins/registry.js.map +1 -1
  112. package/dist/src/sandbox/errors.d.ts +5 -1
  113. package/dist/src/sandbox/errors.d.ts.map +1 -1
  114. package/dist/src/sandbox/errors.js +7 -1
  115. package/dist/src/sandbox/errors.js.map +1 -1
  116. package/dist/src/sandbox/stream-process.js +1 -1
  117. package/dist/src/sandbox/stream-process.js.map +1 -1
  118. package/dist/src/session/session-manager.d.ts +5 -1
  119. package/dist/src/session/session-manager.d.ts.map +1 -1
  120. package/dist/src/session/session-manager.js +51 -1
  121. package/dist/src/session/session-manager.js.map +1 -1
  122. package/dist/src/session/snapshot-storage-adapter.d.ts.map +1 -1
  123. package/dist/src/session/snapshot-storage-adapter.js +1 -0
  124. package/dist/src/session/snapshot-storage-adapter.js.map +1 -1
  125. package/dist/src/storage/in-memory-storage.d.ts +9 -0
  126. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  127. package/dist/src/storage/in-memory-storage.js +18 -2
  128. package/dist/src/storage/in-memory-storage.js.map +1 -1
  129. package/dist/src/storage/local-file-storage.d.ts +9 -2
  130. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  131. package/dist/src/storage/local-file-storage.js +17 -4
  132. package/dist/src/storage/local-file-storage.js.map +1 -1
  133. package/dist/src/storage/s3-storage.d.ts +4 -0
  134. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  135. package/dist/src/storage/s3-storage.js +8 -0
  136. package/dist/src/storage/s3-storage.js.map +1 -1
  137. package/dist/src/storage/search/qmd.d.ts +10 -6
  138. package/dist/src/storage/search/qmd.d.ts.map +1 -1
  139. package/dist/src/storage/search/qmd.js +4 -6
  140. package/dist/src/storage/search/qmd.js.map +1 -1
  141. package/dist/src/storage/search/types.d.ts +14 -2
  142. package/dist/src/storage/search/types.d.ts.map +1 -1
  143. package/dist/src/storage/storage.d.ts +8 -0
  144. package/dist/src/storage/storage.d.ts.map +1 -1
  145. package/dist/src/storage/storage.js +18 -0
  146. package/dist/src/storage/storage.js.map +1 -1
  147. package/dist/src/telemetry/tracer.d.ts.map +1 -1
  148. package/dist/src/telemetry/tracer.js +4 -2
  149. package/dist/src/telemetry/tracer.js.map +1 -1
  150. package/dist/src/tsconfig.tsbuildinfo +1 -1
  151. package/dist/src/types/agent.d.ts +7 -0
  152. package/dist/src/types/agent.d.ts.map +1 -1
  153. package/dist/src/types/agent.js.map +1 -1
  154. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
  155. package/dist/src/vended-plugins/context-offloader/search.js +4 -2
  156. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
  157. package/dist/src/vended-tools/index.d.ts +5 -3
  158. package/dist/src/vended-tools/index.d.ts.map +1 -1
  159. package/dist/src/vended-tools/index.js +5 -3
  160. package/dist/src/vended-tools/index.js.map +1 -1
  161. package/dist/src/vended-tools/notebook/index.d.ts +2 -1
  162. package/dist/src/vended-tools/notebook/index.d.ts.map +1 -1
  163. package/dist/src/vended-tools/notebook/index.js +1 -1
  164. package/dist/src/vended-tools/notebook/index.js.map +1 -1
  165. package/dist/src/vended-tools/notebook/notebook.d.ts +38 -8
  166. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  167. package/dist/src/vended-tools/notebook/notebook.js +130 -79
  168. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  169. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -1
  170. package/dist/src/vended-tools/shell/make-shell.js +7 -3
  171. package/dist/src/vended-tools/shell/make-shell.js.map +1 -1
  172. package/dist/src/vended-tools/shell/types.d.ts +10 -5
  173. package/dist/src/vended-tools/shell/types.d.ts.map +1 -1
  174. package/dist/src/vended-tools/shell/types.js +7 -2
  175. package/dist/src/vended-tools/shell/types.js.map +1 -1
  176. package/dist/src/vended-tools/web-fetch/extract.d.ts +23 -0
  177. package/dist/src/vended-tools/web-fetch/extract.d.ts.map +1 -0
  178. package/dist/src/vended-tools/web-fetch/extract.js +130 -0
  179. package/dist/src/vended-tools/web-fetch/extract.js.map +1 -0
  180. package/dist/src/vended-tools/web-fetch/index.d.ts +9 -0
  181. package/dist/src/vended-tools/web-fetch/index.d.ts.map +1 -0
  182. package/dist/src/vended-tools/web-fetch/index.js +7 -0
  183. package/dist/src/vended-tools/web-fetch/index.js.map +1 -0
  184. package/dist/src/vended-tools/web-fetch/types.d.ts +40 -0
  185. package/dist/src/vended-tools/web-fetch/types.d.ts.map +1 -0
  186. package/dist/src/vended-tools/web-fetch/types.js +8 -0
  187. package/dist/src/vended-tools/web-fetch/types.js.map +1 -0
  188. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts +14 -0
  189. package/dist/src/vended-tools/web-fetch/web-fetch.d.ts.map +1 -0
  190. package/dist/src/vended-tools/web-fetch/web-fetch.js +175 -0
  191. package/dist/src/vended-tools/web-fetch/web-fetch.js.map +1 -0
  192. package/package.json +18 -5
@@ -4,8 +4,23 @@
4
4
  * On overflow, runs the strategy pipeline (including an emergency truncation as the final step).
5
5
  */
6
6
  import type { Plugin } from '../plugins/plugin.js';
7
+ import type { Tool } from '../tools/tool.js';
7
8
  import type { LocalAgent } from '../types/agent.js';
8
9
  import type { ContextManagerConfig } from './types.js';
10
+ import { Stash } from './stash.js';
11
+ /** @internal */
12
+ export declare const CONTEXT_MANAGER_PRESETS: readonly ["auto", "agentic"];
13
+ /** @internal */
14
+ export type ContextManagerPreset = (typeof CONTEXT_MANAGER_PRESETS)[number];
15
+ /**
16
+ * Supported values for the `contextManager` parameter.
17
+ *
18
+ * - `"auto"`: Managed context with proactive compression + offloading.
19
+ * - `"agentic"`: Model-driven context management via injected tools.
20
+ * - {@link ContextManagerConfig}: Custom strategy pipeline and stash configuration.
21
+ * - `false`: Explicitly disable all context management (no compression, no offloading).
22
+ */
23
+ export type ContextManagerStrategy = ContextManagerPreset | ContextManagerConfig | false;
9
24
  /**
10
25
  * Manages context reduction for an agent's conversation.
11
26
  *
@@ -13,18 +28,45 @@ import type { ContextManagerConfig } from './types.js';
13
28
  * The emergency truncation is always appended as the final strategy — it recomputes
14
29
  * utilization and only fires if the window is still overflowing after user strategies.
15
30
  *
16
- * The ContextManager is a first-class agent component — pass it via the
17
- * `contextManager` parameter on the Agent constructor. When present, it owns
18
- * overflow recovery no separate ConversationManager is needed.
31
+ * Configured through the Agent's `contextManager` parameter — pass a preset
32
+ * string (`'auto'`, `'agentic'`) or a `ContextManagerConfig`; the Agent
33
+ * constructs and registers the manager. When present, it owns overflow
34
+ * recovery and proactive compression — no separate ConversationManager is needed.
19
35
  *
20
36
  * @experimental
21
- * @internal
22
37
  */
23
38
  export declare class ContextManager implements Plugin {
24
39
  readonly name = "strands:context-manager";
25
40
  private readonly _strategies;
41
+ private readonly _stashStorage;
42
+ private readonly _enableRetrievalTool;
43
+ private readonly _retrievalToolUseIds;
44
+ private _stash;
45
+ private _stashIsDurable;
46
+ private _retrievalTool;
26
47
  constructor(config?: ContextManagerConfig);
27
- initAgent(agent: LocalAgent): void;
48
+ /**
49
+ * Resolves a `ContextManagerStrategy` value into a `ContextManager` instance.
50
+ *
51
+ * @param strategy - A preset string, config object, false, or undefined
52
+ * @returns A ContextManager for preset strings and configs; undefined for false/undefined
53
+ */
54
+ static from(strategy: ContextManagerStrategy | undefined): ContextManager | undefined;
55
+ getTools(): Tool[];
56
+ initAgent(agent: LocalAgent): Promise<void>;
57
+ /**
58
+ * The L1 stash instance, if stash is enabled and the agent has been initialized.
59
+ *
60
+ * @returns The stash, or undefined if stash is disabled or initAgent has not run
61
+ */
62
+ get stash(): Stash | undefined;
63
+ /**
64
+ * Whether the stash is backed by durable storage that survives process restarts.
65
+ * When true, stash data does not need to be embedded in session snapshots.
66
+ *
67
+ * @returns true if the stash storage is not ephemeral
68
+ */
69
+ get stashIsDurable(): boolean;
28
70
  private _runStrategies;
29
71
  }
30
72
  //# sourceMappingURL=context-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAInD,OAAO,KAAK,EAAE,oBAAoB,EAAiC,MAAM,YAAY,CAAA;AAGrF;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;gBAEnC,MAAM,CAAC,EAAE,oBAAoB;IAUzC,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;YAkCpB,cAAc;CA2B7B"}
1
+ {"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAOnD,OAAO,KAAK,EAAE,oBAAoB,EAAiC,MAAM,YAAY,CAAA;AAGrF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQlC,gBAAgB;AAChB,eAAO,MAAM,uBAAuB,8BAA+B,CAAA;AAEnE,gBAAgB;AAChB,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,KAAK,CAAA;AAExF;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,QAAQ,CAAC,IAAI,6BAA4B;IAEzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAC3D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAoB;IACzD,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,cAAc,CAAkB;gBAE5B,MAAM,CAAC,EAAE,oBAAoB;IAgBzC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS;IAuBrF,QAAQ,IAAI,IAAI,EAAE;IASZ,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDjD;;;;OAIG;IACH,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,CAE7B;IAED;;;;;OAKG;IACH,IAAI,cAAc,IAAI,OAAO,CAE5B;YAEa,cAAc;CAkC7B"}
@@ -3,10 +3,21 @@
3
3
  *
4
4
  * On overflow, runs the strategy pipeline (including an emergency truncation as the final step).
5
5
  */
6
- import { AfterModelCallEvent, BeforeModelCallEvent } from '../hooks/events.js';
6
+ import { AfterModelCallEvent, BeforeModelCallEvent, MessageAddedEvent } from '../hooks/events.js';
7
7
  import { ContextWindowOverflowError } from '../errors.js';
8
+ import { InMemoryStorage } from '../storage/in-memory-storage.js';
9
+ import { EPHEMERAL } from '../storage/storage.js';
8
10
  import { logger } from '../logging/logger.js';
9
11
  import { EmergencyTruncateStrategy, Offload } from './strategies/offload/index.js';
12
+ import { resolveStrategies } from './presets.js';
13
+ import { Stash } from './stash.js';
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'];
10
21
  /**
11
22
  * Manages context reduction for an agent's conversation.
12
23
  *
@@ -14,28 +25,94 @@ import { EmergencyTruncateStrategy, Offload } from './strategies/offload/index.j
14
25
  * The emergency truncation is always appended as the final strategy — it recomputes
15
26
  * utilization and only fires if the window is still overflowing after user strategies.
16
27
  *
17
- * The ContextManager is a first-class agent component — pass it via the
18
- * `contextManager` parameter on the Agent constructor. When present, it owns
19
- * 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.
20
32
  *
21
33
  * @experimental
22
- * @internal
23
34
  */
24
35
  export class ContextManager {
25
36
  name = 'strands:context-manager';
26
37
  _strategies;
38
+ _stashStorage;
39
+ _enableRetrievalTool;
40
+ _retrievalToolUseIds = new Set();
41
+ _stash;
42
+ _stashIsDurable = false;
43
+ _retrievalTool;
27
44
  constructor(config) {
28
- this._strategies = [
29
- ...(config?.strategies ?? [
30
- Offload.truncate('toolResults').when({ threshold: 2500 }),
31
- Offload.summarize('*').when({ threshold: 1000, utilization: 0.85 }),
32
- ]),
33
- new EmergencyTruncateStrategy(),
34
- ];
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()];
54
+ const stashConfig = config?.stash;
55
+ const stashObj = typeof stashConfig === 'object' ? stashConfig : undefined;
56
+ this._stashStorage = stashConfig === false ? false : stashObj?.storage;
57
+ this._enableRetrievalTool = stashConfig !== false && stashObj?.retrievalTool !== false;
35
58
  }
36
- initAgent(agent) {
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
+ }
86
+ getTools() {
87
+ if (!this._enableRetrievalTool)
88
+ return [];
89
+ if (!this._stash)
90
+ return [];
91
+ if (!this._retrievalTool) {
92
+ this._retrievalTool = createRetrievalTool(this._stash);
93
+ }
94
+ return [this._retrievalTool];
95
+ }
96
+ async initAgent(agent) {
97
+ if (this._stashStorage !== false) {
98
+ const storage = this._stashStorage ?? agent.storage ?? new InMemoryStorage();
99
+ this._stashIsDurable = !(EPHEMERAL in storage);
100
+ this._stash = new Stash(storage, agent.sessionId, agent.id);
101
+ }
102
+ if (this._stash) {
103
+ const stash = this._stash;
104
+ const skipSet = this._retrievalToolUseIds;
105
+ for (const message of agent.messages) {
106
+ trackRetrievalToolUseIds(message, skipSet);
107
+ await stash.storeMessage(message, skipSet);
108
+ }
109
+ agent.addHook(MessageAddedEvent, async (event) => {
110
+ trackRetrievalToolUseIds(event.message, skipSet);
111
+ await stash.storeMessage(event.message, skipSet);
112
+ });
113
+ }
37
114
  for (const strategy of this._strategies) {
38
- strategy.init?.(agent);
115
+ strategy.init?.(agent, this._stash);
39
116
  }
40
117
  agent.addHook(BeforeModelCallEvent, async (event) => {
41
118
  await this._runStrategies(event.agent, event.projectedInputTokens);
@@ -52,7 +129,7 @@ export class ContextManager {
52
129
  overflowRetries = 0;
53
130
  return;
54
131
  }
55
- const acted = await this._runStrategies(event.agent);
132
+ const acted = await this._runStrategies(event.agent, undefined, true);
56
133
  if (!acted) {
57
134
  logger.warn(`agentId=<${event.agent.id}> | no strategy made progress, skipping retry`);
58
135
  return;
@@ -61,17 +138,38 @@ export class ContextManager {
61
138
  event.retry = true;
62
139
  });
63
140
  }
64
- async _runStrategies(agent, precomputedInputTokens) {
141
+ /**
142
+ * The L1 stash instance, if stash is enabled and the agent has been initialized.
143
+ *
144
+ * @returns The stash, or undefined if stash is disabled or initAgent has not run
145
+ */
146
+ get stash() {
147
+ return this._stash;
148
+ }
149
+ /**
150
+ * Whether the stash is backed by durable storage that survives process restarts.
151
+ * When true, stash data does not need to be embedded in session snapshots.
152
+ *
153
+ * @returns true if the stash storage is not ephemeral
154
+ */
155
+ get stashIsDurable() {
156
+ return this._stashIsDurable;
157
+ }
158
+ async _runStrategies(agent, precomputedInputTokens, overflow) {
65
159
  const messages = agent.messages;
66
160
  const inputTokens = precomputedInputTokens ?? (await agent.model.countTokens(messages));
67
161
  const strategyContext = {
68
162
  messages,
69
163
  agent,
70
164
  utilization: agent.model.estimateUtilization(inputTokens),
165
+ ...(overflow ? { overflow: true } : {}),
166
+ ...(this._stash ? { stash: this._stash } : {}),
71
167
  };
72
168
  let anyActed = false;
73
169
  for (const strategy of this._strategies) {
74
170
  try {
171
+ if (strategy instanceof EmergencyTruncateStrategy && anyActed)
172
+ strategyContext.overflow = false;
75
173
  const acted = await strategy.apply(strategyContext);
76
174
  if (acted) {
77
175
  anyActed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../../../src/context-manager/context-manager.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,21 @@
4
4
  * Compresses text via an LLM call. The method is target-agnostic — it operates
5
5
  * on any text (a tool result, a range of messages, raw storage content).
6
6
  * Strategies handle selection and placement.
7
- *
8
- * @internal
9
7
  */
10
8
  import type { Model } from '../../models/model.js';
11
9
  import { Message } from '../../types/messages.js';
12
10
  import type { ContentBlock, ToolResultContent } from '../../types/messages.js';
13
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;
14
18
  /**
15
19
  * Configuration for the summarize method.
20
+ *
21
+ * @experimental
16
22
  */
17
23
  export interface SummarizeConfig {
18
24
  /** Model to use for summarization. When omitted, uses the agent's model. */
@@ -1 +1 @@
1
- {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../../../src/context-manager/methods/summarize.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;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;;GAEG;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"}
@@ -4,12 +4,19 @@
4
4
  * Compresses text via an LLM call. The method is target-agnostic — it operates
5
5
  * on any text (a tool result, a range of messages, raw storage content).
6
6
  * Strategies handle selection and placement.
7
- *
8
- * @internal
9
7
  */
10
8
  import { JsonBlock, Message, TextBlock, ToolResultBlock } from '../../types/messages.js';
11
9
  import { logger } from '../../logging/logger.js';
12
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
+ }
13
20
  // Subject to change as we benchmark summarization quality.
14
21
  const DEFAULT_SYSTEM_PROMPT = [
15
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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"}
@@ -2,13 +2,13 @@
2
2
  * Truncate reduction method.
3
3
  *
4
4
  * Replaces content with a preview (head, tail, or head-tail).
5
- *
6
- * @internal
7
5
  */
8
6
  import { TextBlock, ToolResultBlock } from '../../types/messages.js';
9
7
  export declare const TRUNCATED_PREFIX = "[Truncated:";
10
8
  /**
11
9
  * Configuration for the truncate method.
10
+ *
11
+ * @experimental
12
12
  */
13
13
  export interface TruncateConfig {
14
14
  /** Number of tokens to keep as preview text. Defaults to 1,000. */
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../../src/context-manager/methods/truncate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAa,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG/E,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AAK7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;CACvC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CA+BlG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,eAAe,CA8BxG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAMtF"}
1
+ {"version":3,"file":"truncate.d.ts","sourceRoot":"","sources":["../../../../src/context-manager/methods/truncate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAa,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG/E,eAAO,MAAM,gBAAgB,gBAAgB,CAAA;AAK7C;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;CACvC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CA+BlG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,eAAe,CA8BxG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAMtF"}
@@ -2,8 +2,6 @@
2
2
  * Truncate reduction method.
3
3
  *
4
4
  * Replaces content with a preview (head, tail, or head-tail).
5
- *
6
- * @internal
7
5
  */
8
6
  import { JsonBlock, TextBlock, ToolResultBlock } from '../../types/messages.js';
9
7
  export const TRUNCATED_PREFIX = '[Truncated:';
@@ -1 +1 @@
1
- {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../../src/context-manager/methods/truncate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../../src/context-manager/methods/truncate.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@ import type { MiddlewareInputHandler } from '../../../middleware/types.js';
8
8
  export declare const summarizeContextTool: import("../../../index.js").InvokableTool<{
9
9
  keepRecent?: number | undefined;
10
10
  summaryRatio?: number | undefined;
11
- messageType?: "tools" | "messages" | "all" | undefined;
11
+ messageType?: "tools" | "all" | "messages" | undefined;
12
12
  }, string>;
13
13
  export declare const truncateContextTool: import("../../../index.js").InvokableTool<{
14
14
  keepRecent?: number | undefined;
15
- messageType?: "tools" | "messages" | "all" | undefined;
15
+ messageType?: "tools" | "all" | "messages" | undefined;
16
16
  }, string>;
17
17
  export declare function createTokenUsageMiddleware(): MiddlewareInputHandler<InvokeModelContext>;
18
18
  export declare const pinContextTool: import("../../../index.js").InvokableTool<{
@@ -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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Retrieval tool for accessing stashed (L1) content.
3
+ *
4
+ * Registered automatically when the ContextManager has storage configured.
5
+ *
6
+ * @internal
7
+ */
8
+ import type { Tool } from '../tools/tool.js';
9
+ import { Message } from '../types/messages.js';
10
+ import type { Stash } from './stash.js';
11
+ export declare const RETRIEVAL_TOOL_NAME = "retrieve_context";
12
+ /**
13
+ * Creates the retrieval tool for the given stash.
14
+ *
15
+ * @param stash - The stash instance to retrieve from
16
+ * @param maxResultTokens - Maximum tokens in the retrieval result
17
+ * @returns A Tool that can retrieve stashed content
18
+ *
19
+ * @internal
20
+ */
21
+ export declare function createRetrievalTool(stash: Stash, maxResultTokens?: number): Tool;
22
+ /**
23
+ * Tracks toolUseIds from retrieval tool invocations so their results
24
+ * can be excluded from stashing (prevents retrieval loops).
25
+ *
26
+ * @internal
27
+ */
28
+ export declare function trackRetrievalToolUseIds(message: Message, skipSet: Set<string>): void;
29
+ //# sourceMappingURL=retrieval-tool.d.ts.map
@@ -0,0 +1 @@
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"}