@strands-agents/sdk 1.12.0 → 1.14.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 (214) hide show
  1. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  2. package/dist/src/agent/agent-as-tool.js +8 -2
  3. package/dist/src/agent/agent-as-tool.js.map +1 -1
  4. package/dist/src/agent/agent.d.ts +27 -7
  5. package/dist/src/agent/agent.d.ts.map +1 -1
  6. package/dist/src/agent/agent.js +141 -38
  7. package/dist/src/agent/agent.js.map +1 -1
  8. package/dist/src/agent/continuation.d.ts +36 -0
  9. package/dist/src/agent/continuation.d.ts.map +1 -0
  10. package/dist/src/agent/continuation.js +126 -0
  11. package/dist/src/agent/continuation.js.map +1 -0
  12. package/dist/src/agent/tool-caller.d.ts.map +1 -1
  13. package/dist/src/agent/tool-caller.js +1 -0
  14. package/dist/src/agent/tool-caller.js.map +1 -1
  15. package/dist/src/context-manager/context-manager.d.ts +30 -0
  16. package/dist/src/context-manager/context-manager.d.ts.map +1 -0
  17. package/dist/src/context-manager/context-manager.js +89 -0
  18. package/dist/src/context-manager/context-manager.js.map +1 -0
  19. package/dist/src/context-manager/methods/summarize.d.ts +41 -0
  20. package/dist/src/context-manager/methods/summarize.d.ts.map +1 -0
  21. package/dist/src/context-manager/methods/summarize.js +108 -0
  22. package/dist/src/context-manager/methods/summarize.js.map +1 -0
  23. package/dist/src/context-manager/methods/truncate.d.ts +36 -0
  24. package/dist/src/context-manager/methods/truncate.d.ts.map +1 -0
  25. package/dist/src/context-manager/methods/truncate.js +86 -0
  26. package/dist/src/context-manager/methods/truncate.js.map +1 -0
  27. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +1 -2
  28. package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -1
  29. package/dist/src/context-manager/modes/agentic/agentic-context.js +6 -3
  30. package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -1
  31. package/dist/src/context-manager/strategies/offload/base.d.ts +140 -0
  32. package/dist/src/context-manager/strategies/offload/base.d.ts.map +1 -0
  33. package/dist/src/context-manager/strategies/offload/base.js +376 -0
  34. package/dist/src/context-manager/strategies/offload/base.js.map +1 -0
  35. package/dist/src/context-manager/strategies/offload/drop.d.ts +19 -0
  36. package/dist/src/context-manager/strategies/offload/drop.d.ts.map +1 -0
  37. package/dist/src/context-manager/strategies/offload/drop.js +31 -0
  38. package/dist/src/context-manager/strategies/offload/drop.js.map +1 -0
  39. package/dist/src/context-manager/strategies/offload/index.d.ts +43 -0
  40. package/dist/src/context-manager/strategies/offload/index.d.ts.map +1 -0
  41. package/dist/src/context-manager/strategies/offload/index.js +37 -0
  42. package/dist/src/context-manager/strategies/offload/index.js.map +1 -0
  43. package/dist/src/context-manager/strategies/offload/summarize.d.ts +22 -0
  44. package/dist/src/context-manager/strategies/offload/summarize.d.ts.map +1 -0
  45. package/dist/src/context-manager/strategies/offload/summarize.js +104 -0
  46. package/dist/src/context-manager/strategies/offload/summarize.js.map +1 -0
  47. package/dist/src/context-manager/strategies/offload/truncate.d.ts +21 -0
  48. package/dist/src/context-manager/strategies/offload/truncate.d.ts.map +1 -0
  49. package/dist/src/context-manager/strategies/offload/truncate.js +66 -0
  50. package/dist/src/context-manager/strategies/offload/truncate.js.map +1 -0
  51. package/dist/src/context-manager/types.d.ts +50 -0
  52. package/dist/src/context-manager/types.d.ts.map +1 -0
  53. package/dist/src/context-manager/types.js +5 -0
  54. package/dist/src/context-manager/types.js.map +1 -0
  55. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +25 -0
  56. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  57. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +90 -2
  58. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  59. package/dist/src/index.d.ts +2 -2
  60. package/dist/src/index.d.ts.map +1 -1
  61. package/dist/src/index.js +1 -1
  62. package/dist/src/index.js.map +1 -1
  63. package/dist/src/injection/message-injection.d.ts +12 -9
  64. package/dist/src/injection/message-injection.d.ts.map +1 -1
  65. package/dist/src/injection/message-injection.js +17 -16
  66. package/dist/src/injection/message-injection.js.map +1 -1
  67. package/dist/src/mcp/client.d.ts.map +1 -1
  68. package/dist/src/mcp/client.js +9 -0
  69. package/dist/src/mcp/client.js.map +1 -1
  70. package/dist/src/middleware/stages.d.ts +15 -2
  71. package/dist/src/middleware/stages.d.ts.map +1 -1
  72. package/dist/src/middleware/stages.js.map +1 -1
  73. package/dist/src/mime.d.ts +1 -0
  74. package/dist/src/mime.d.ts.map +1 -1
  75. package/dist/src/mime.js.map +1 -1
  76. package/dist/src/models/anthropic.d.ts +26 -1
  77. package/dist/src/models/anthropic.d.ts.map +1 -1
  78. package/dist/src/models/anthropic.js +178 -54
  79. package/dist/src/models/anthropic.js.map +1 -1
  80. package/dist/src/models/bedrock.d.ts +51 -19
  81. package/dist/src/models/bedrock.d.ts.map +1 -1
  82. package/dist/src/models/bedrock.js +239 -30
  83. package/dist/src/models/bedrock.js.map +1 -1
  84. package/dist/src/models/model.d.ts +73 -5
  85. package/dist/src/models/model.d.ts.map +1 -1
  86. package/dist/src/models/model.js +15 -0
  87. package/dist/src/models/model.js.map +1 -1
  88. package/dist/src/models/openai/model.d.ts.map +1 -1
  89. package/dist/src/models/openai/model.js +5 -0
  90. package/dist/src/models/openai/model.js.map +1 -1
  91. package/dist/src/multiagent/plugins.d.ts +3 -1
  92. package/dist/src/multiagent/plugins.d.ts.map +1 -1
  93. package/dist/src/multiagent/plugins.js +6 -1
  94. package/dist/src/multiagent/plugins.js.map +1 -1
  95. package/dist/src/plugins/registry.d.ts +3 -1
  96. package/dist/src/plugins/registry.d.ts.map +1 -1
  97. package/dist/src/plugins/registry.js +6 -1
  98. package/dist/src/plugins/registry.js.map +1 -1
  99. package/dist/src/sandbox/docker.js +1 -1
  100. package/dist/src/sandbox/docker.js.map +1 -1
  101. package/dist/src/sandbox/ssh.js +1 -1
  102. package/dist/src/sandbox/ssh.js.map +1 -1
  103. package/dist/src/storage/in-memory-storage.d.ts +8 -1
  104. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  105. package/dist/src/storage/in-memory-storage.js +10 -0
  106. package/dist/src/storage/in-memory-storage.js.map +1 -1
  107. package/dist/src/storage/local-file-storage.d.ts +8 -1
  108. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  109. package/dist/src/storage/local-file-storage.js +10 -0
  110. package/dist/src/storage/local-file-storage.js.map +1 -1
  111. package/dist/src/storage/s3-storage.d.ts +8 -1
  112. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  113. package/dist/src/storage/s3-storage.js +10 -0
  114. package/dist/src/storage/s3-storage.js.map +1 -1
  115. package/dist/src/storage/search/index.d.ts +13 -0
  116. package/dist/src/storage/search/index.d.ts.map +1 -0
  117. package/dist/src/storage/search/index.js +11 -0
  118. package/dist/src/storage/search/index.js.map +1 -0
  119. package/dist/src/storage/search/keyword.d.ts +23 -0
  120. package/dist/src/storage/search/keyword.d.ts.map +1 -0
  121. package/dist/src/storage/search/keyword.js +53 -0
  122. package/dist/src/storage/search/keyword.js.map +1 -0
  123. package/dist/src/storage/search/types.d.ts +24 -0
  124. package/dist/src/storage/search/types.d.ts.map +1 -0
  125. package/dist/src/storage/search/types.js +2 -0
  126. package/dist/src/storage/search/types.js.map +1 -0
  127. package/dist/src/storage/storage.d.ts +46 -1
  128. package/dist/src/storage/storage.d.ts.map +1 -1
  129. package/dist/src/storage/storage.js +22 -0
  130. package/dist/src/storage/storage.js.map +1 -1
  131. package/dist/src/tools/executors/executor.d.ts +2 -0
  132. package/dist/src/tools/executors/executor.d.ts.map +1 -1
  133. package/dist/src/tools/executors/executor.js +6 -4
  134. package/dist/src/tools/executors/executor.js.map +1 -1
  135. package/dist/src/tools/executors/sequential.d.ts +1 -1
  136. package/dist/src/tools/executors/sequential.js +2 -2
  137. package/dist/src/tools/executors/sequential.js.map +1 -1
  138. package/dist/src/tools/mcp-tool.d.ts +2 -1
  139. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  140. package/dist/src/tools/mcp-tool.js +2 -1
  141. package/dist/src/tools/mcp-tool.js.map +1 -1
  142. package/dist/src/tools/tool.d.ts +2 -0
  143. package/dist/src/tools/tool.d.ts.map +1 -1
  144. package/dist/src/tools/tool.js.map +1 -1
  145. package/dist/src/tools/types.d.ts +8 -0
  146. package/dist/src/tools/types.d.ts.map +1 -1
  147. package/dist/src/tsconfig.tsbuildinfo +1 -1
  148. package/dist/src/types/agent.d.ts +2 -2
  149. package/dist/src/types/media.d.ts +65 -3
  150. package/dist/src/types/media.d.ts.map +1 -1
  151. package/dist/src/types/media.js +68 -1
  152. package/dist/src/types/media.js.map +1 -1
  153. package/dist/src/types/messages.d.ts +6 -4
  154. package/dist/src/types/messages.d.ts.map +1 -1
  155. package/dist/src/types/messages.js +4 -1
  156. package/dist/src/types/messages.js.map +1 -1
  157. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +11 -0
  158. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
  159. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +53 -3
  160. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
  161. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts +3 -0
  162. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts.map +1 -0
  163. package/dist/src/vended-memory-stores/file-memory-store/index.js +2 -0
  164. package/dist/src/vended-memory-stores/file-memory-store/index.js.map +1 -0
  165. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts +82 -0
  166. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts.map +1 -0
  167. package/dist/src/vended-memory-stores/file-memory-store/store.js +219 -0
  168. package/dist/src/vended-memory-stores/file-memory-store/store.js.map +1 -0
  169. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -1
  170. package/dist/src/vended-memory-stores/test-memory-store/store.js +2 -25
  171. package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -1
  172. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  173. package/dist/src/vended-plugins/context-offloader/plugin.js +2 -8
  174. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  175. package/dist/src/vended-tools/bash/index.d.ts +13 -7
  176. package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
  177. package/dist/src/vended-tools/bash/index.js +13 -6
  178. package/dist/src/vended-tools/bash/index.js.map +1 -1
  179. package/dist/src/vended-tools/bash/types.d.ts +4 -24
  180. package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
  181. package/dist/src/vended-tools/bash/types.js +4 -31
  182. package/dist/src/vended-tools/bash/types.js.map +1 -1
  183. package/dist/src/vended-tools/http-request/http-request.d.ts +1 -1
  184. package/dist/src/vended-tools/http-request/http-request.js +2 -2
  185. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  186. package/dist/src/vended-tools/index.d.ts +1 -0
  187. package/dist/src/vended-tools/index.d.ts.map +1 -1
  188. package/dist/src/vended-tools/index.js +1 -0
  189. package/dist/src/vended-tools/index.js.map +1 -1
  190. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  191. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  192. package/dist/src/vended-tools/notebook/notebook.js +20 -6
  193. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  194. package/dist/src/vended-tools/notebook/types.d.ts +15 -1
  195. package/dist/src/vended-tools/notebook/types.d.ts.map +1 -1
  196. package/dist/src/vended-tools/shell/index.d.ts +15 -0
  197. package/dist/src/vended-tools/shell/index.d.ts.map +1 -0
  198. package/dist/src/vended-tools/shell/index.js +13 -0
  199. package/dist/src/vended-tools/shell/index.js.map +1 -0
  200. package/dist/src/vended-tools/{bash → shell}/make-shell.d.ts +7 -8
  201. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -0
  202. package/dist/src/vended-tools/{bash → shell}/make-shell.js +16 -9
  203. package/dist/src/vended-tools/shell/make-shell.js.map +1 -0
  204. package/dist/src/vended-tools/shell/types.d.ts +47 -0
  205. package/dist/src/vended-tools/shell/types.d.ts.map +1 -0
  206. package/dist/src/vended-tools/shell/types.js +34 -0
  207. package/dist/src/vended-tools/shell/types.js.map +1 -0
  208. package/dist/src/vended-tools/sleep/make-sleep.d.ts +4 -6
  209. package/dist/src/vended-tools/sleep/make-sleep.d.ts.map +1 -1
  210. package/dist/src/vended-tools/sleep/make-sleep.js +5 -7
  211. package/dist/src/vended-tools/sleep/make-sleep.js.map +1 -1
  212. package/package.json +15 -2
  213. package/dist/src/vended-tools/bash/make-shell.d.ts.map +0 -1
  214. package/dist/src/vended-tools/bash/make-shell.js.map +0 -1
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Summarize strategy — replaces oversized content with LLM-generated summaries.
3
+ *
4
+ * @internal
5
+ */
6
+ import { logger } from '../../../logging/logger.js';
7
+ import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
8
+ import { flattenMessagesToContent, SUMMARIZED_PREFIX, summarizeContent, toolResultToContentBlocks, } from '../../methods/summarize.js';
9
+ import { BaseOffloadStrategy, collectRemovableWithPair, repairAlternation, } from './base.js';
10
+ export class SummarizeStrategy extends BaseOffloadStrategy {
11
+ name = 'offload:summarize';
12
+ _config;
13
+ constructor(target, config, conditions) {
14
+ super(target, conditions);
15
+ this._config = config ?? {};
16
+ }
17
+ when(conditions) {
18
+ return new SummarizeStrategy(this._target, this._config, conditions);
19
+ }
20
+ async apply(context) {
21
+ if (!this._resolveModel(context.agent)) {
22
+ logger.warn('no model available for summarization');
23
+ return false;
24
+ }
25
+ return super.apply(context);
26
+ }
27
+ async _applyPerMessage(context) {
28
+ const model = this._resolveModel(context.agent);
29
+ if (!model)
30
+ return false;
31
+ const { messages } = context;
32
+ if (messages.length <= 1)
33
+ return false;
34
+ const eligible = await this._getEligibleMessages(context);
35
+ if (eligible.length === 0)
36
+ return false;
37
+ const summarizeCount = Math.max(1, Math.floor(eligible.length * this._removalRatio));
38
+ const toSummarize = eligible.slice(0, summarizeCount);
39
+ // Expand to include paired messages so we don't orphan tool pairs
40
+ const safeSet = new Set();
41
+ for (const message of toSummarize) {
42
+ const index = messages.indexOf(message);
43
+ if (index === -1)
44
+ continue;
45
+ for (const removable of collectRemovableWithPair(messages, index)) {
46
+ safeSet.add(removable);
47
+ }
48
+ }
49
+ const safe = messages.filter((message) => safeSet.has(message));
50
+ if (safe.length === 0)
51
+ return false;
52
+ const contentBlocks = flattenMessagesToContent(safe);
53
+ const summary = await summarizeContent(contentBlocks, model, this._config);
54
+ if (!summary)
55
+ return false;
56
+ const totalTokens = await model.countTokens(safe);
57
+ const summaryMessage = new Message({
58
+ role: 'user',
59
+ content: [
60
+ new TextBlock(`${SUMMARIZED_PREFIX} ${safe.length} messages, ~${totalTokens.toLocaleString()} tokens]\n\n${summary}`),
61
+ ],
62
+ });
63
+ // Remove summarized messages, tracking the lowest removal point for insertion
64
+ let lowestIndex = messages.length;
65
+ for (const message of safe) {
66
+ const index = messages.indexOf(message);
67
+ if (index === -1)
68
+ continue;
69
+ if (index < lowestIndex)
70
+ lowestIndex = index;
71
+ messages.splice(index, 1);
72
+ }
73
+ const insertIndex = Math.max(1, Math.min(lowestIndex, messages.length));
74
+ messages.splice(insertIndex, 0, summaryMessage);
75
+ repairAlternation(messages);
76
+ logger.debug(`summarized=<${safe.length}>, tokens=<${totalTokens}> | batched summarization complete`);
77
+ return true;
78
+ }
79
+ async _replaceBlock(block, tokens, message, agent) {
80
+ const model = this._resolveModel(agent);
81
+ if (!model)
82
+ return null;
83
+ if (block instanceof ToolResultBlock) {
84
+ const summary = await summarizeContent(toolResultToContentBlocks(block.content), model, this._config);
85
+ if (!summary)
86
+ return null;
87
+ logger.debug(`toolUseId=<${block.toolUseId}>, tokens=<${tokens}> | summarized tool result`);
88
+ return new ToolResultBlock({
89
+ toolUseId: block.toolUseId,
90
+ status: block.status,
91
+ content: [new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens]\n\n${summary}`)],
92
+ });
93
+ }
94
+ const summary = await summarizeContent([new TextBlock(block.text)], model, this._config);
95
+ if (!summary)
96
+ return null;
97
+ logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | summarized text block`);
98
+ return new TextBlock(`${SUMMARIZED_PREFIX} ~${tokens.toLocaleString()} tokens]\n\n${summary}`);
99
+ }
100
+ _resolveModel(agent) {
101
+ return this._config.model ?? agent.model;
102
+ }
103
+ }
104
+ //# sourceMappingURL=summarize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/summarize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Truncate strategy — replaces oversized content with a preview.
3
+ *
4
+ * @internal
5
+ */
6
+ import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
7
+ import type { ContentBlock } from '../../../types/messages.js';
8
+ import type { LocalAgent } from '../../../types/agent.js';
9
+ import type { ContextStrategy, ContextState } from '../../types.js';
10
+ import { type TruncateConfig } from '../../methods/truncate.js';
11
+ import { BaseOffloadStrategy, type OffloadConditions, type OffloadTarget } from './base.js';
12
+ export declare class TruncateStrategy extends BaseOffloadStrategy {
13
+ readonly name = "offload:truncate";
14
+ private readonly _truncateConfig;
15
+ constructor(target?: OffloadTarget, config?: TruncateConfig, conditions?: OffloadConditions);
16
+ when(conditions: OffloadConditions): ContextStrategy;
17
+ protected _makeRemovalMarker(count: number): string;
18
+ protected _applyPerMessage(context: ContextState): Promise<boolean>;
19
+ protected _replaceBlock(block: TextBlock | ToolResultBlock, tokens: number, message: Message, _agent: LocalAgent): Promise<ContentBlock | null>;
20
+ }
21
+ //# sourceMappingURL=truncate.d.ts.map
@@ -0,0 +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,EAAE,SAAS,EAAE,eAAe,EAAE,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;AAC3G,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,SAAS,GAAG,eAAe,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAQhC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Truncate strategy — replaces oversized content with a preview.
3
+ *
4
+ * @internal
5
+ */
6
+ import { logger } from '../../../logging/logger.js';
7
+ import { Message, TextBlock, ToolResultBlock } from '../../../types/messages.js';
8
+ import { truncateToolResultBlock, truncateTextBlock } from '../../methods/truncate.js';
9
+ import { BaseOffloadStrategy, spliceWithPairs, repairAlternation, } from './base.js';
10
+ export class TruncateStrategy extends BaseOffloadStrategy {
11
+ name = 'offload:truncate';
12
+ _truncateConfig;
13
+ constructor(target, config, conditions) {
14
+ super(target, conditions);
15
+ this._truncateConfig = config ?? {};
16
+ const previewTokens = typeof this._truncateConfig.previewTokens === 'number' && Number.isFinite(this._truncateConfig.previewTokens)
17
+ ? this._truncateConfig.previewTokens
18
+ : 1000;
19
+ if (conditions?.threshold !== undefined &&
20
+ Number.isFinite(conditions.threshold) &&
21
+ conditions.threshold <= previewTokens) {
22
+ throw new Error(`threshold (${conditions.threshold}) must be greater than previewTokens (${previewTokens}) to ensure truncation converges`);
23
+ }
24
+ }
25
+ when(conditions) {
26
+ return new TruncateStrategy(this._target, this._truncateConfig, conditions);
27
+ }
28
+ _makeRemovalMarker(count) {
29
+ return `[... ${count} ${count === 1 ? 'message' : 'messages'} elided ...]`;
30
+ }
31
+ async _applyPerMessage(context) {
32
+ const { messages } = context;
33
+ if (messages.length <= 1)
34
+ return false;
35
+ const eligible = await this._getEligibleMessages(context);
36
+ if (eligible.length === 0)
37
+ return false;
38
+ // Determine head/tail split based on config (default: favor tail — 30% head, 70% tail)
39
+ const previewMode = this._truncateConfig.preview ?? 'headTail';
40
+ const headShare = { head: 1, tail: 0, headTail: 0.3 }[previewMode];
41
+ const targetRemoval = Math.max(1, Math.floor(eligible.length * this._removalRatio));
42
+ const keepCount = eligible.length - targetRemoval;
43
+ const headKeep = Math.floor(keepCount * headShare);
44
+ const tailKeep = keepCount - headKeep;
45
+ const middleMessages = eligible.slice(headKeep, eligible.length - tailKeep);
46
+ if (middleMessages.length === 0)
47
+ return false;
48
+ const { removed, lowestIndex } = spliceWithPairs(messages, middleMessages);
49
+ if (removed === 0)
50
+ return false;
51
+ const marker = this._makeRemovalMarker(removed);
52
+ const insertIndex = Math.max(1, Math.min(lowestIndex, messages.length));
53
+ messages.splice(insertIndex, 0, new Message({ role: 'user', content: [new TextBlock(marker)] }));
54
+ repairAlternation(messages);
55
+ return true;
56
+ }
57
+ async _replaceBlock(block, tokens, message, _agent) {
58
+ if (block instanceof ToolResultBlock) {
59
+ logger.debug(`toolUseId=<${block.toolUseId}>, tokens=<${tokens}> | truncated tool result`);
60
+ return truncateToolResultBlock(block, this._truncateConfig);
61
+ }
62
+ logger.debug(`trackingId=<${message.trackingId}>, tokens=<${tokens}> | truncated text block`);
63
+ return truncateTextBlock(block, this._truncateConfig);
64
+ }
65
+ }
66
+ //# sourceMappingURL=truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../../../../src/context-manager/strategies/offload/truncate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Configuration types for the ContextManager.
3
+ */
4
+ import type { LocalAgent } from '../types/agent.js';
5
+ import type { Message } from '../types/messages.js';
6
+ /**
7
+ * A context reduction strategy that can offload, summarize, or otherwise
8
+ * transform the message array to reduce token usage.
9
+ *
10
+ * Strategies are applied in order during `apply()`. Each decides whether
11
+ * to act based on the current context state (utilization, message count, etc.).
12
+ */
13
+ export interface ContextStrategy {
14
+ /** Stable identifier for logging and observability. */
15
+ readonly name: string;
16
+ /**
17
+ * Called once when the ContextManager is attached to an agent.
18
+ * Strategies can use this to register hooks (e.g., eager offloading on message arrival).
19
+ */
20
+ init?(agent: LocalAgent): void;
21
+ /**
22
+ * Attempt to reduce context. Returns true if it made changes, false if it
23
+ * decided not to act (e.g., conditions not met, nothing to offload).
24
+ */
25
+ apply(context: ContextState): Promise<boolean>;
26
+ }
27
+ /**
28
+ * State passed to strategies during apply().
29
+ */
30
+ export interface ContextState {
31
+ /** The agent's current message array (the context window). Strategies mutate this in place. */
32
+ messages: Message[];
33
+ /** The agent instance. */
34
+ agent: LocalAgent;
35
+ /** Current context utilization ratio (0-1+). Above 1.0 means overflow. */
36
+ utilization: number;
37
+ }
38
+ /**
39
+ * Full configuration for a ContextManager instance.
40
+ */
41
+ export interface ContextManagerConfig {
42
+ /**
43
+ * Strategies for context reduction. Applied as an ordered pipeline: each strategy
44
+ * sees the output of the previous. Order determines priority — if two strategies
45
+ * target the same content, the first one to shrink it below the next strategy's
46
+ * threshold wins. When omitted, uses the default pipeline.
47
+ */
48
+ strategies?: ContextStrategy[];
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/context-manager/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IAE9B;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC/C;AAED;;GAEG;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;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;CAC/B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Configuration types for the ContextManager.
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/context-manager/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -140,6 +140,31 @@ export declare class SlidingWindowConversationManager extends ConversationManage
140
140
  * @returns True if any changes were made to the message, false otherwise.
141
141
  */
142
142
  private _truncateToolResults;
143
+ /**
144
+ * Find the first complete tool use/result pair at or after the starting index.
145
+ *
146
+ * @param messages - The conversation message history.
147
+ * @param startIndex - The index to begin searching from.
148
+ * @returns The assistant message index that starts the pair, or undefined if none exists.
149
+ */
150
+ private _findToolPairTrimPoint;
151
+ /**
152
+ * Find a user message that can remain immediately before a fallback tool pair.
153
+ *
154
+ * Pinned messages must already form a user-first alternating prefix that ends
155
+ * with a user message. Without a pinned prefix, the most recent plain user
156
+ * message before the tool pair is retained as the conversation anchor.
157
+ *
158
+ * This deliberately differs from Python's `_find_tool_pair_trim_point`, which
159
+ * trims directly to the assistant tool-use boundary. TypeScript retains a
160
+ * validated user anchor to preserve a user-first, legally alternating history
161
+ * for providers that require it (see #2085 and #2087).
162
+ *
163
+ * @param messages - The conversation message history.
164
+ * @param toolPairIndex - The assistant message index that starts the fallback pair.
165
+ * @returns The user message index to preserve, or undefined when fallback would produce an invalid prefix.
166
+ */
167
+ private _findToolPairUserAnchor;
143
168
  /**
144
169
  * Find the index of the oldest message containing tool results.
145
170
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAoElC;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,0BAA0B,CAAA;IAE3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gCAAiC,SAAQ,mBAAmB;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;OAEG;IACH,QAAQ,CAAC,IAAI,iDAAgD;IAE7D;;;;OAIG;gBACS,MAAM,CAAC,EAAE,sCAAsC;IAO3D;;;;;;;;;OASG;IACa,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQlD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gCAAgC,GAAG,OAAO;IAInE;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,cAAc;IAmDtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,oBAAoB;IAsI5B;;;;;;;;OAQG;IACH,OAAO,CAAC,iCAAiC;CAY1C"}
1
+ {"version":3,"file":"sliding-window-conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAoElC;;GAEG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAE/B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,GAAG,0BAA0B,CAAA;IAE3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gCAAiC,SAAQ,mBAAmB;IACvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;OAEG;IACH,QAAQ,CAAC,IAAI,iDAAgD;IAE7D;;;;OAIG;gBACS,MAAM,CAAC,EAAE,sCAAsC;IAO3D;;;;;;;;;OASG;IACa,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQlD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gCAAgC,GAAG,OAAO;IAInE;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,cAAc;IAsEtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,oBAAoB;IAsI5B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,uBAAuB;IA8C/B;;;;;;;;OAQG;IACH,OAAO,CAAC,iCAAiC;CAY1C"}
@@ -179,7 +179,22 @@ export class SlidingWindowConversationManager extends ConversationManager {
179
179
  // Try to trim messages when tool result cannot be truncated anymore
180
180
  // If the number of messages is less than the window_size, then we default to 2, otherwise, trim to window size
181
181
  const startIndex = messages.length <= this._windowSize ? 2 : messages.length - this._windowSize;
182
- const trimIndex = findValidTrimPoint(messages, startIndex);
182
+ let trimIndex = findValidTrimPoint(messages, startIndex);
183
+ let fallbackUserIndex;
184
+ if (trimIndex === messages.length && this._windowSize > 0) {
185
+ const toolPairTrimIndex = this._findToolPairTrimPoint(messages, startIndex);
186
+ if (toolPairTrimIndex !== undefined) {
187
+ fallbackUserIndex = this._findToolPairUserAnchor(messages, toolPairTrimIndex);
188
+ if (fallbackUserIndex !== undefined) {
189
+ logger.debug(`window_size=<${this._windowSize}>, trim_index=<${toolPairTrimIndex}>, user_anchor_index=<${fallbackUserIndex}> | no plain user trim point, falling back to complete tool pair`);
190
+ trimIndex = toolPairTrimIndex;
191
+ }
192
+ else {
193
+ logger.debug(`window_size=<${this._windowSize}>, trim_index=<${toolPairTrimIndex}> | complete tool pair found but no valid user anchor, declining fallback`);
194
+ return false;
195
+ }
196
+ }
197
+ }
183
198
  // If no valid trim point was found, return false and let the caller handle it.
184
199
  // When windowSize is 0, trimIndex === messages.length is expected (remove all), so allow it through.
185
200
  if (trimIndex > messages.length || (trimIndex === messages.length && this._windowSize > 0)) {
@@ -189,7 +204,7 @@ export class SlidingWindowConversationManager extends ConversationManager {
189
204
  // Collect non-pinned indices in [0, trimIndex) to remove
190
205
  const indicesToRemove = [];
191
206
  for (let i = 0; i < trimIndex; i++) {
192
- if (isPinned(messages, i))
207
+ if (i === fallbackUserIndex || isPinned(messages, i))
193
208
  continue;
194
209
  indicesToRemove.push(i);
195
210
  }
@@ -354,6 +369,79 @@ export class SlidingWindowConversationManager extends ConversationManager {
354
369
  });
355
370
  return true;
356
371
  }
372
+ /**
373
+ * Find the first complete tool use/result pair at or after the starting index.
374
+ *
375
+ * @param messages - The conversation message history.
376
+ * @param startIndex - The index to begin searching from.
377
+ * @returns The assistant message index that starts the pair, or undefined if none exists.
378
+ */
379
+ _findToolPairTrimPoint(messages, startIndex) {
380
+ for (let index = startIndex; index < messages.length; index++) {
381
+ const message = messages[index];
382
+ if (!message)
383
+ break;
384
+ const nextMessage = messages[index + 1];
385
+ const hasToolUse = message.role === 'assistant' && message.content.some((block) => block.type === 'toolUseBlock');
386
+ const hasFollowingToolResult = nextMessage?.role === 'user' && nextMessage.content.some((block) => block.type === 'toolResultBlock');
387
+ if (hasToolUse && hasFollowingToolResult) {
388
+ return index;
389
+ }
390
+ }
391
+ return undefined;
392
+ }
393
+ /**
394
+ * Find a user message that can remain immediately before a fallback tool pair.
395
+ *
396
+ * Pinned messages must already form a user-first alternating prefix that ends
397
+ * with a user message. Without a pinned prefix, the most recent plain user
398
+ * message before the tool pair is retained as the conversation anchor.
399
+ *
400
+ * This deliberately differs from Python's `_find_tool_pair_trim_point`, which
401
+ * trims directly to the assistant tool-use boundary. TypeScript retains a
402
+ * validated user anchor to preserve a user-first, legally alternating history
403
+ * for providers that require it (see #2085 and #2087).
404
+ *
405
+ * @param messages - The conversation message history.
406
+ * @param toolPairIndex - The assistant message index that starts the fallback pair.
407
+ * @returns The user message index to preserve, or undefined when fallback would produce an invalid prefix.
408
+ */
409
+ _findToolPairUserAnchor(messages, toolPairIndex) {
410
+ const pinnedIndices = [];
411
+ for (let index = 0; index < toolPairIndex; index++) {
412
+ if (isPinned(messages, index)) {
413
+ pinnedIndices.push(index);
414
+ }
415
+ }
416
+ if (pinnedIndices.length > 0) {
417
+ const pinnedMessages = pinnedIndices.map((index) => messages[index]);
418
+ if (pinnedMessages[0]?.role !== 'user' ||
419
+ pinnedMessages[0].content.some((block) => block.type === 'toolResultBlock')) {
420
+ return undefined;
421
+ }
422
+ for (let index = 1; index < pinnedMessages.length; index++) {
423
+ if (pinnedMessages[index].role === pinnedMessages[index - 1].role) {
424
+ return undefined;
425
+ }
426
+ }
427
+ const lastPinnedIndex = pinnedIndices[pinnedIndices.length - 1];
428
+ const lastPinnedMessage = messages[lastPinnedIndex];
429
+ if (lastPinnedMessage.role !== 'user' ||
430
+ lastPinnedMessage.content.some((block) => block.type === 'toolUseBlock')) {
431
+ return undefined;
432
+ }
433
+ return lastPinnedIndex;
434
+ }
435
+ for (let index = toolPairIndex - 1; index >= 0; index--) {
436
+ const message = messages[index];
437
+ if (!message || message.role !== 'user')
438
+ continue;
439
+ const hasToolContent = message.content.some((block) => block.type === 'toolUseBlock' || block.type === 'toolResultBlock');
440
+ if (!hasToolContent)
441
+ return index;
442
+ }
443
+ return undefined;
444
+ }
357
445
  /**
358
446
  * Find the index of the oldest message containing tool results.
359
447
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sliding-window-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sliding-window-conversation-manager.js","sourceRoot":"","sources":["../../../src/conversation-manager/sliding-window-conversation-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EACL,mBAAmB,GAGpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,iFAAiF;AACjF,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAC9B,6EAA6E;AAC7E,+EAA+E;AAC/E,yEAAyE;AACzE,kCAAkC;AAClC,MAAM,oBAAoB,GAAG,CAAC,GAAG,cAAc,GAAG,mBAAmB,CAAA;AAErE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,KAAiB;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,OAAO,WAAW,KAAK,CAAC,MAAM,oBAAoB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,CAAA;IACpF,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACrC,OAAO,WAAW,KAAK,CAAC,MAAM,gBAAgB,CAAA;IAChD,CAAC;IACD,OAAO,WAAW,KAAK,CAAC,MAAM,eAAe,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAiB;IACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,OAAO,WAAW,KAAK,CAAC,MAAM,oBAAoB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,CAAA;IACpF,CAAC;IACD,OAAO,WAAW,KAAK,CAAC,MAAM,eAAe,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAkB;IAC7C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;IACzB,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC1C,OAAO,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,oBAAoB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,CAAA;IAClG,CAAC;IACD,OAAO,cAAc,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,eAAe,CAAA;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,gBAAwB;IAC/C,OAAO,UAAU,gBAAgB,SAAS,CAAA;AAC5C,CAAC;AAkCD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,gCAAiC,SAAQ,mBAAmB;IACtD,WAAW,CAAQ;IACnB,sBAAsB,CAAS;IAC/B,SAAS,CAAoB;IACtC,gBAAgB,GAAG,KAAK,CAAA;IAEhC;;OAEG;IACM,IAAI,GAAG,6CAA6C,CAAA;IAE7D;;;;OAIG;IACH,YAAY,MAA+C;QACzD,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,WAAW,GAAG,MAAM,EAAE,UAAU,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,sBAAsB,GAAG,MAAM,EAAE,qBAAqB,IAAI,IAAI,CAAA;QACnE,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACtF,CAAC;IAED;;;;;;;;;OASG;IACa,SAAS,CAAC,KAAiB;QACzC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEtB,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAoC;QACvD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;OAMG;IACK,gBAAgB,CAAC,QAAmB;QAC1C,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,OAAM;QACR,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,cAAc,CAAC,QAAmB,EAAE,MAAc;QACxD,6DAA6D;QAC7D,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7C,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;QAC9B,CAAC;QAED,qGAAqG;QACrG,MAAM,+BAA+B,GAAG,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAA;QACxF,IAAI,MAAM,IAAI,+BAA+B,KAAK,SAAS,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC3F,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAA;YAC7F,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,+GAA+G;QAC/G,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAA;QAC/F,IAAI,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QACxD,IAAI,iBAAqC,CAAA;QAEzC,IAAI,SAAS,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC3E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACpC,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAA;gBAC7E,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,CACV,gBAAgB,IAAI,CAAC,WAAW,kBAAkB,iBAAiB,yBAAyB,iBAAiB,kEAAkE,CAChL,CAAA;oBACD,SAAS,GAAG,iBAAiB,CAAA;gBAC/B,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CACV,gBAAgB,IAAI,CAAC,WAAW,kBAAkB,iBAAiB,2EAA2E,CAC/I,CAAA;oBACD,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,qGAAqG;QACrG,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,IAAI,CACT,gBAAgB,IAAI,CAAC,WAAW,gBAAgB,QAAQ,CAAC,MAAM,oEAAoE,CACpI,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,yDAAyD;QACzD,MAAM,eAAe,GAAa,EAAE,CAAA;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAAE,SAAQ;YAC9D,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CACT,gBAAgB,IAAI,CAAC,WAAW,gBAAgB,QAAQ,CAAC,MAAM,gEAAgE,CAChI,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,iDAAiD;QACjD,KAAK,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,IAAY;QACpC,IAAI,IAAI,CAAC,MAAM,IAAI,oBAAoB,EAAE,CAAC;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAA;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,CAAA;QAChD,OAAO,GAAG,MAAM,uBAAuB,OAAO,QAAQ,MAAM,EAAE,CAAA;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,oBAAoB,CAAC,QAAmB,EAAE,MAAc;QAC9D,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAA;YACd,CAAC;YAED,MAAM,eAAe,GAAG,KAAwB,CAAA;YAChD,MAAM,QAAQ,GAAwB,EAAE,CAAA;YACxC,IAAI,WAAW,GAAG,KAAK,CAAA;YAEvB,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACpD,WAAW,GAAG,IAAI,CAAA;oBAClB,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACpD,WAAW,GAAG,IAAI,CAAA;oBAClB,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC1B,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,IAAI,MAAM,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;wBACxF,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;wBACvD,WAAW,GAAG,IAAI,CAAA;wBAClB,SAAQ;oBACV,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBACzC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;wBACrD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4BAC5B,QAAQ,CAAC,IAAI,CACX,IAAI,aAAa,CAAC;gCAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gCAC3B,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACjE,CAAC,CACH,CAAA;4BACD,WAAW,GAAG,IAAI,CAAA;4BAClB,SAAQ;wBACV,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;wBACjD,IAAI,aAAa,GAAG,KAAK,CAAA;wBACzB,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;4BACrD,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;4BACrD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gCAC5B,aAAa,GAAG,IAAI,CAAA;gCACpB,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,CAAA;4BACjC,CAAC;4BACD,OAAO,MAAM,CAAA;wBACf,CAAC,CAAC,CAAA;wBACF,IAAI,aAAa,EAAE,CAAC;4BAClB,QAAQ,CAAC,IAAI,CACX,IAAI,aAAa,CAAC;gCAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;gCACrC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACtE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACjE,CAAC,CACH,CAAA;4BACD,WAAW,GAAG,IAAI,CAAA;4BAClB,SAAQ;wBACV,CAAC;oBACH,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnB,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;oBACzD,IAAI,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;wBAC5C,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;wBAC/D,WAAW,GAAG,IAAI,CAAA;wBAClB,SAAQ;oBACV,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnB,SAAQ;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACnD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;wBACvC,WAAW,GAAG,IAAI,CAAA;wBAClB,SAAQ;oBACV,CAAC;gBACH,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,WAAW,GAAG,IAAI,CAAA;YAClB,OAAO,IAAI,eAAe,CAAC;gBACzB,SAAS,EAAE,eAAe,CAAC,SAAS;gBACpC,MAAM,EAAE,eAAe,CAAC,MAAM;gBAC9B,OAAO,EAAE,QAAQ;gBACjB,GAAG,CAAC,eAAe,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjF,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC;YAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,UAAU;YACnB,kGAAkG;YAClG,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,QAAmB,EAAE,UAAkB;QACpE,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,CAAC,OAAO;gBAAE,MAAK;YACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAA;YACjH,MAAM,sBAAsB,GAC1B,WAAW,EAAE,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;YAEvG,IAAI,UAAU,IAAI,sBAAsB,EAAE,CAAC;gBACzC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,uBAAuB,CAAC,QAAmB,EAAE,aAAqB;QACxE,MAAM,aAAa,GAAa,EAAE,CAAA;QAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAC,CAAA;YACrE,IACE,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAClC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAC3E,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC3D,IAAI,cAAc,CAAC,KAAK,CAAE,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;oBACpE,OAAO,SAAS,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YAChE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAE,CAAA;YACpD,IACE,iBAAiB,CAAC,IAAI,KAAK,MAAM;gBACjC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,EACxE,CAAC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,KAAK,IAAI,KAAK,GAAG,aAAa,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC/B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAQ;YACjD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC7E,CAAA;YACD,IAAI,CAAC,cAAc;gBAAE,OAAO,KAAK,CAAA;QACnC,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;;;;;;;OAQG;IACK,iCAAiC,CAAC,QAAmB;QAC3D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;gBAAE,SAAQ;YAErC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAA;YAC9F,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
@@ -24,8 +24,8 @@ export type { Role, StopReason, TextBlockData, ToolUseBlockData, ToolResultBlock
24
24
  export { TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlock, GuardContentBlock, Message, JsonBlock, contentBlockFromData, toolResultContentFromData, } from './types/messages.js';
25
25
  export type { CitationsBlockData, Citation, CitationLocation, CitationSourceContent, CitationGeneratedContent, } from './types/citations.js';
26
26
  export { CitationsBlock } from './types/citations.js';
27
- export { S3Location, ImageBlock, VideoBlock, DocumentBlock } from './types/media.js';
28
- export type { LocationData, S3LocationData, ImageFormat, ImageSource, ImageSourceData, ImageBlockData, VideoFormat, VideoSource, VideoSourceData, VideoBlockData, DocumentFormat, DocumentSource, DocumentSourceData, DocumentBlockData, DocumentContentBlock, DocumentContentBlockData, } from './types/media.js';
27
+ export { S3Location, AudioBlock, ImageBlock, VideoBlock, DocumentBlock } from './types/media.js';
28
+ export type { LocationData, S3LocationData, AudioFormat, AudioSource, AudioSourceData, AudioBlockData, ImageFormat, ImageSource, ImageSourceData, ImageBlockData, VideoFormat, VideoSource, VideoSourceData, VideoBlockData, DocumentFormat, DocumentSource, DocumentSourceData, DocumentBlockData, DocumentContentBlock, DocumentContentBlockData, } from './types/media.js';
29
29
  export type { ToolSpec, ToolUse, ToolResultStatus, ToolChoice } from './tools/types.js';
30
30
  export type { InvokableTool, ToolContext, ToolStreamEventData, ToolStreamGenerator } from './tools/tool.js';
31
31
  export { Tool, ToolStreamEvent } from './tools/tool.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -22,7 +22,7 @@ export { TextBlock, ToolUseBlock, ToolResultBlock, ReasoningBlock, CachePointBlo
22
22
  // Citation class
23
23
  export { CitationsBlock } from './types/citations.js';
24
24
  // Media classes
25
- export { S3Location, ImageBlock, VideoBlock, DocumentBlock } from './types/media.js';
25
+ export { S3Location, AudioBlock, ImageBlock, VideoBlock, DocumentBlock } from './types/media.js';
26
26
  // Tool base class and event classes
27
27
  export { Tool, ToolStreamEvent } from './tools/tool.js';
28
28
  // FunctionTool implementation
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -45,21 +45,24 @@ export declare function isUserTurn(messages: MessageData[]): boolean;
45
45
  * messages are returned as-is.
46
46
  *
47
47
  * Folding into the existing user message (rather than inserting a standalone message) keeps role
48
- * alternation valid in both chat and the autonomous tool loop. The block is placed to keep the message
49
- * valid for the model:
50
- * - A plain user ask: the text is **prepended**, leaving the user's own ask in the recency slot — the
51
- * last thing the model reads.
52
- * - A tool-result turn (the message carries a `ToolResultBlock`): the text is **appended**,
53
- * because providers require the tool result to be the first content block in the turn that answers a
54
- * tool use.
48
+ * alternation valid in both chat and the autonomous tool loop.
49
+ *
50
+ * The text is always **appended**. A tool result has to stay the first content block in the turn that
51
+ * answers a tool use, and a trailing run is the only placement a provider can keep out of its cached
52
+ * prefix text ahead of the stable conversation would invalidate the cache from the first block onward.
55
53
  *
56
54
  * {@link Message} fields are readonly, so the target is rebuilt as a new {@link Message}. When there is
57
55
  * no `user` message, the input array is returned unchanged.
58
56
  *
59
57
  * @param messages - The conversation to fold into
60
58
  * @param text - The text to fold into the most recent user message
61
- * @returns A new array with the folded message, or the input array when there is no user message
59
+ * @returns The folded conversation and how many trailing blocks of its last message are per-call
60
+ * content: 1 when the fold landed on the last message, 0 otherwise (including when there is no user
61
+ * message to fold into, in which case the input array is returned unchanged)
62
62
  * @internal Delivery primitive. Reach injection through `ContextInjector` or `MemoryManager`.
63
63
  */
64
- export declare function foldIntoLastUserMessage(messages: Message[], text: string): Message[];
64
+ export declare function foldIntoLastUserMessage(messages: Message[], text: string): {
65
+ messages: Message[];
66
+ appended: number;
67
+ };
65
68
  //# sourceMappingURL=message-injection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-injection.d.ts","sourceRoot":"","sources":["../../../src/injection/message-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEhG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,0BAA0B,GAC/B,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CA0B9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,SAAS,GAC/E,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAgBxC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAG3D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CA6BpF"}
1
+ {"version":3,"file":"message-injection.d.ts","sourceRoot":"","sources":["../../../src/injection/message-injection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEhG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,0BAA0B,GAC/B,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CA4B9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,GAAG,CAAC,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,SAAS,GAC/E,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAgBxC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAG3D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA4BpH"}