@strands-agents/sdk 1.13.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 (174) 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 +118 -24
  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/index.d.ts +2 -2
  56. package/dist/src/index.d.ts.map +1 -1
  57. package/dist/src/index.js +1 -1
  58. package/dist/src/index.js.map +1 -1
  59. package/dist/src/injection/message-injection.d.ts +12 -9
  60. package/dist/src/injection/message-injection.d.ts.map +1 -1
  61. package/dist/src/injection/message-injection.js +17 -16
  62. package/dist/src/injection/message-injection.js.map +1 -1
  63. package/dist/src/mcp/client.d.ts.map +1 -1
  64. package/dist/src/mcp/client.js +9 -0
  65. package/dist/src/mcp/client.js.map +1 -1
  66. package/dist/src/middleware/stages.d.ts +15 -2
  67. package/dist/src/middleware/stages.d.ts.map +1 -1
  68. package/dist/src/middleware/stages.js.map +1 -1
  69. package/dist/src/mime.d.ts +1 -0
  70. package/dist/src/mime.d.ts.map +1 -1
  71. package/dist/src/mime.js.map +1 -1
  72. package/dist/src/models/anthropic.d.ts +26 -1
  73. package/dist/src/models/anthropic.d.ts.map +1 -1
  74. package/dist/src/models/anthropic.js +178 -54
  75. package/dist/src/models/anthropic.js.map +1 -1
  76. package/dist/src/models/bedrock.d.ts +25 -17
  77. package/dist/src/models/bedrock.d.ts.map +1 -1
  78. package/dist/src/models/bedrock.js +105 -24
  79. package/dist/src/models/bedrock.js.map +1 -1
  80. package/dist/src/models/model.d.ts +68 -5
  81. package/dist/src/models/model.d.ts.map +1 -1
  82. package/dist/src/models/model.js +15 -0
  83. package/dist/src/models/model.js.map +1 -1
  84. package/dist/src/models/openai/model.d.ts.map +1 -1
  85. package/dist/src/models/openai/model.js +5 -0
  86. package/dist/src/models/openai/model.js.map +1 -1
  87. package/dist/src/multiagent/plugins.d.ts +3 -1
  88. package/dist/src/multiagent/plugins.d.ts.map +1 -1
  89. package/dist/src/multiagent/plugins.js +6 -1
  90. package/dist/src/multiagent/plugins.js.map +1 -1
  91. package/dist/src/plugins/registry.d.ts +3 -1
  92. package/dist/src/plugins/registry.d.ts.map +1 -1
  93. package/dist/src/plugins/registry.js +6 -1
  94. package/dist/src/plugins/registry.js.map +1 -1
  95. package/dist/src/storage/in-memory-storage.d.ts +8 -1
  96. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  97. package/dist/src/storage/in-memory-storage.js +10 -0
  98. package/dist/src/storage/in-memory-storage.js.map +1 -1
  99. package/dist/src/storage/local-file-storage.d.ts +8 -1
  100. package/dist/src/storage/local-file-storage.d.ts.map +1 -1
  101. package/dist/src/storage/local-file-storage.js +10 -0
  102. package/dist/src/storage/local-file-storage.js.map +1 -1
  103. package/dist/src/storage/s3-storage.d.ts +8 -1
  104. package/dist/src/storage/s3-storage.d.ts.map +1 -1
  105. package/dist/src/storage/s3-storage.js +10 -0
  106. package/dist/src/storage/s3-storage.js.map +1 -1
  107. package/dist/src/storage/search/index.d.ts +13 -0
  108. package/dist/src/storage/search/index.d.ts.map +1 -0
  109. package/dist/src/storage/search/index.js +11 -0
  110. package/dist/src/storage/search/index.js.map +1 -0
  111. package/dist/src/storage/search/keyword.d.ts +23 -0
  112. package/dist/src/storage/search/keyword.d.ts.map +1 -0
  113. package/dist/src/storage/search/keyword.js +53 -0
  114. package/dist/src/storage/search/keyword.js.map +1 -0
  115. package/dist/src/storage/search/types.d.ts +24 -0
  116. package/dist/src/storage/search/types.d.ts.map +1 -0
  117. package/dist/src/storage/search/types.js +2 -0
  118. package/dist/src/storage/search/types.js.map +1 -0
  119. package/dist/src/storage/storage.d.ts +46 -1
  120. package/dist/src/storage/storage.d.ts.map +1 -1
  121. package/dist/src/storage/storage.js +22 -0
  122. package/dist/src/storage/storage.js.map +1 -1
  123. package/dist/src/tools/executors/executor.d.ts +2 -0
  124. package/dist/src/tools/executors/executor.d.ts.map +1 -1
  125. package/dist/src/tools/executors/executor.js +6 -4
  126. package/dist/src/tools/executors/executor.js.map +1 -1
  127. package/dist/src/tools/executors/sequential.d.ts +1 -1
  128. package/dist/src/tools/executors/sequential.js +2 -2
  129. package/dist/src/tools/executors/sequential.js.map +1 -1
  130. package/dist/src/tools/mcp-tool.d.ts +2 -1
  131. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  132. package/dist/src/tools/mcp-tool.js +2 -1
  133. package/dist/src/tools/mcp-tool.js.map +1 -1
  134. package/dist/src/tools/tool.d.ts +2 -0
  135. package/dist/src/tools/tool.d.ts.map +1 -1
  136. package/dist/src/tools/tool.js.map +1 -1
  137. package/dist/src/tools/types.d.ts +8 -0
  138. package/dist/src/tools/types.d.ts.map +1 -1
  139. package/dist/src/tsconfig.tsbuildinfo +1 -1
  140. package/dist/src/types/agent.d.ts +2 -2
  141. package/dist/src/types/media.d.ts +65 -3
  142. package/dist/src/types/media.d.ts.map +1 -1
  143. package/dist/src/types/media.js +68 -1
  144. package/dist/src/types/media.js.map +1 -1
  145. package/dist/src/types/messages.d.ts +6 -4
  146. package/dist/src/types/messages.d.ts.map +1 -1
  147. package/dist/src/types/messages.js +4 -1
  148. package/dist/src/types/messages.js.map +1 -1
  149. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +11 -0
  150. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
  151. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +53 -3
  152. package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
  153. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts +3 -0
  154. package/dist/src/vended-memory-stores/file-memory-store/index.d.ts.map +1 -0
  155. package/dist/src/vended-memory-stores/file-memory-store/index.js +2 -0
  156. package/dist/src/vended-memory-stores/file-memory-store/index.js.map +1 -0
  157. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts +82 -0
  158. package/dist/src/vended-memory-stores/file-memory-store/store.d.ts.map +1 -0
  159. package/dist/src/vended-memory-stores/file-memory-store/store.js +219 -0
  160. package/dist/src/vended-memory-stores/file-memory-store/store.js.map +1 -0
  161. package/dist/src/vended-memory-stores/test-memory-store/store.d.ts.map +1 -1
  162. package/dist/src/vended-memory-stores/test-memory-store/store.js +2 -25
  163. package/dist/src/vended-memory-stores/test-memory-store/store.js.map +1 -1
  164. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  165. package/dist/src/vended-plugins/context-offloader/plugin.js +2 -8
  166. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  167. package/dist/src/vended-tools/http-request/http-request.d.ts +1 -1
  168. package/dist/src/vended-tools/http-request/http-request.js +2 -2
  169. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  170. package/dist/src/vended-tools/sleep/make-sleep.d.ts +4 -6
  171. package/dist/src/vended-tools/sleep/make-sleep.d.ts.map +1 -1
  172. package/dist/src/vended-tools/sleep/make-sleep.js +5 -7
  173. package/dist/src/vended-tools/sleep/make-sleep.js.map +1 -1
  174. package/package.json +10 -2
@@ -2,7 +2,7 @@ import type { MiddlewareStage } from './types.js';
2
2
  import type { LocalAgent, AgentStreamEvent, InvocationState, InvokeArgs, InvokeOptions, AgentResult } from '../types/agent.js';
3
3
  import type { Message, SystemPrompt, ToolResultBlock } from '../types/messages.js';
4
4
  import type { ToolSpec, ToolChoice } from '../tools/types.js';
5
- import type { StreamAggregatedResult } from '../models/model.js';
5
+ import type { Model, StreamAggregatedResult } from '../models/model.js';
6
6
  import type { ToolUseData } from '../hooks/events.js';
7
7
  import type { Tool } from '../tools/tool.js';
8
8
  import type { InterruptParams } from '../types/interrupt.js';
@@ -51,11 +51,14 @@ export declare function createStage<TContext, TResult, TEvent>(name: string): Mi
51
51
  /**
52
52
  * Context passed to model-stage middleware.
53
53
  * All inputs to the model call are explicit — middleware can inspect and transform
54
- * any of them by passing a modified context to next().
54
+ * any of them by passing a modified context to next(). Collection fields are
55
+ * defensive copies; invocationState and model are shared references.
55
56
  */
56
57
  export interface InvokeModelContext {
57
58
  /** The agent instance (escape hatch for advanced use cases). */
58
59
  readonly agent: LocalAgent;
60
+ /** The model this call invokes. Initialized from agent.model and replaceable per call. */
61
+ readonly model: Model;
59
62
  /** The messages to send to the model. */
60
63
  readonly messages: readonly Message[];
61
64
  /** System prompt to guide the model's behavior. */
@@ -68,6 +71,14 @@ export interface InvokeModelContext {
68
71
  readonly invocationState: InvocationState;
69
72
  /** Estimated input token count for this model call, or undefined if estimation failed. */
70
73
  readonly projectedInputTokens?: number;
74
+ /**
75
+ * How many trailing blocks of the last user message are rebuilt on every call.
76
+ *
77
+ * Producers add to this; a provider placing cache points keeps its own ahead of the
78
+ * count, since a prefix that changes every call is never read back. Counted from the end of the
79
+ * message so it survives a provider's content cleaning, which only drops earlier blocks.
80
+ */
81
+ readonly dynamicTrailingBlocks?: number;
71
82
  }
72
83
  /**
73
84
  * Result from model-stage middleware.
@@ -90,6 +101,8 @@ export interface ExecuteToolContext extends MiddlewareInterruptible {
90
101
  readonly toolUse: ToolUseData;
91
102
  /** Per-invocation state. Shared by reference — mutations are visible to hooks, tools, and AgentResult. */
92
103
  readonly invocationState: InvocationState;
104
+ /** Executor-owned cancellation signal for this tool call; middleware can observe but cannot replace it. */
105
+ readonly cancelSignal: AbortSignal;
93
106
  }
94
107
  /**
95
108
  * Result from tool-stage middleware.
@@ -1 +1 @@
1
- {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../src/middleware/stages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../src/middleware/stages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC,GAAG,SAAS;IACtD;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAA;CAChF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAO/G;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,mDAAmD;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;IACvC,4CAA4C;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAEtC;;;;;;OAMG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,0GAA0G;IAC1G,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,2GAA2G;IAC3G,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CACjC;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,0EAAsF,CAAA;AAEnH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,0EAAsF,CAAA;AAEnH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,0EAAsF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/middleware/stages.ts"],"names":[],"mappings":"AAoDA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAA4B,IAAY;IACjE,wGAAwG;IACxG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAgD,CAAA;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAC1F,CAAC;AAoFD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA;AAEnH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA;AAEnH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA"}
1
+ {"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../src/middleware/stages.ts"],"names":[],"mappings":"AAoDA;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAA4B,IAAY;IACjE,wGAAwG;IACxG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAgD,CAAA;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1E,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;AAC1F,CAAC;AAkGD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA;AAEnH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA;AAEnH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAA0D,aAAa,CAAC,CAAA"}
@@ -4,6 +4,7 @@
4
4
  * Provides bidirectional mapping between media formats and MIME types.
5
5
  */
6
6
  export declare const IMAGE_FORMATS: readonly ["png", "jpg", "jpeg", "gif", "webp"];
7
+ export type AudioFormat = 'mp3' | 'opus' | 'wav' | 'aac' | 'flac' | 'mp4' | 'ogg' | 'mkv' | 'mka' | 'x-aac' | 'm4a' | 'mpeg' | 'mpga' | 'pcm' | 'webm';
7
8
  export type ImageFormat = (typeof IMAGE_FORMATS)[number];
8
9
  export type VideoFormat = 'mkv' | 'mov' | 'mp4' | 'webm' | 'flv' | 'mpeg' | 'mpg' | 'wmv' | '3gp';
9
10
  export type DocumentFormat = 'pdf' | 'csv' | 'doc' | 'docx' | 'xls' | 'xlsx' | 'html' | 'txt' | 'md' | 'json' | 'xml';
@@ -1 +1 @@
1
- {"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../../src/mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,gDAAiD,CAAA;AAE3E,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEjG,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;AAErH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,CAAA;AA8DpE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvE"}
1
+ {"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../../src/mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,aAAa,gDAAiD,CAAA;AAE3E,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;AAEjG,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;AAErH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,WAAW,CAAA;AA8DpE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"mime.js","sourceRoot":"","sources":["../../src/mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAA;AAU3E,MAAM,YAAY,GAAgC;IAChD,SAAS;IACT,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,SAAS;IACT,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,gBAAgB;IACrB,KAAK,EAAE,YAAY;IACnB,YAAY;IACZ,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,YAAY;IACjB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;CACvB,CAAA;AAED,MAAM,eAAe,GAAgC;IACnD,SAAS;IACT,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,SAAS;IACT,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,MAAM;IACpB,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY;IACZ,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,KAAK;IACjB,oBAAoB,EAAE,KAAK;IAC3B,yEAAyE,EAAE,MAAM;IACjF,0BAA0B,EAAE,KAAK;IACjC,mEAAmE,EAAE,MAAM;IAC3E,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,KAAK;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,EAAiB,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"mime.js","sourceRoot":"","sources":["../../src/mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAU,CAAA;AA2B3E,MAAM,YAAY,GAAgC;IAChD,SAAS;IACT,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,SAAS;IACT,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,gBAAgB;IACrB,KAAK,EAAE,YAAY;IACnB,YAAY;IACZ,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,oBAAoB;IACzB,IAAI,EAAE,yEAAyE;IAC/E,GAAG,EAAE,0BAA0B;IAC/B,IAAI,EAAE,mEAAmE;IACzE,IAAI,EAAE,WAAW;IACjB,GAAG,EAAE,YAAY;IACjB,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;CACvB,CAAA;AAED,MAAM,eAAe,GAAgC;IACnD,SAAS;IACT,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,SAAS;IACT,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,KAAK;IACxB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,KAAK;IACpB,YAAY,EAAE,MAAM;IACpB,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,KAAK;IACnB,YAAY;IACZ,iBAAiB,EAAE,KAAK;IACxB,UAAU,EAAE,KAAK;IACjB,oBAAoB,EAAE,KAAK;IAC3B,yEAAyE,EAAE,MAAM;IACjF,0BAA0B,EAAE,KAAK;IACjC,mEAAmE,EAAE,MAAM;IAC3E,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,IAAI;IACrB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,KAAK;CACzB,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,EAAiB,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;AAChD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import Anthropic, { type ClientOptions } from '@anthropic-ai/sdk';
2
- import { Model, type BaseModelConfig, type CountTokensOptions, type StreamOptions } from '../models/model.js';
2
+ import { Model, type BaseModelConfig, type CountTokensOptions, type StreamOptions, type CacheConfig } from '../models/model.js';
3
3
  import type { Message } from '../types/messages.js';
4
4
  import type { ModelStreamEvent } from '../models/streaming.js';
5
5
  export interface AnthropicModelConfig extends BaseModelConfig {
@@ -31,6 +31,13 @@ export interface AnthropicModelConfig extends BaseModelConfig {
31
31
  * @defaultValue false
32
32
  */
33
33
  useNativeTokenCount?: boolean;
34
+ /**
35
+ * Prompt caching configuration. Setting it caches the tool definitions and adds a cache point
36
+ * to the last user message; caching is off when unset.
37
+ *
38
+ * `strategy` has no effect here, since prompt caching is supported on every active Claude model.
39
+ */
40
+ cacheConfig?: CacheConfig;
34
41
  }
35
42
  export interface AnthropicModelOptions extends AnthropicModelConfig {
36
43
  apiKey?: string;
@@ -56,6 +63,24 @@ export declare class AnthropicModel extends Model<AnthropicModelConfig> {
56
63
  countTokens(messages: Message[], options?: CountTokensOptions): Promise<number>;
57
64
  stream(messages: Message[], options?: StreamOptions): AsyncIterable<ModelStreamEvent>;
58
65
  private _buildRequestOptions;
66
+ /** Resolves a cache section, disabled when `cacheConfig` is unset or its strategy is unknown. */
67
+ private _cacheSection;
68
+ /** Builds an Anthropic `cache_control` value. A falsy `ttl` leaves the API default. */
69
+ private _formatCacheControl;
70
+ /**
71
+ * Marks the last formatted block the API accepts `cache_control` on, mutating `content` in place.
72
+ * Scans backwards because the nearest block may be a rejected type or dropped in translation.
73
+ *
74
+ * @returns True when a block was marked.
75
+ */
76
+ private _attachCacheControl;
77
+ /**
78
+ * Formats the system prompt for the Anthropic API, auto-injecting a cache point at its end.
79
+ *
80
+ * @param systemPrompt - The system prompt as a string or content blocks.
81
+ * @returns The API system value (string or text blocks), or undefined when nothing cacheable remains.
82
+ */
83
+ private _formatSystemPrompt;
59
84
  private _formatRequest;
60
85
  private _formatMessages;
61
86
  private _isCacheableBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/models/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EACL,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAsB9D,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEhC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,oBAAoB,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,CAAC,EAAE,qBAAqB;IAqC3C,YAAY,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAIrD,SAAS,IAAI,oBAAoB;IAIjC;;;;;;;;;OASG;IACY,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BvF,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IA+I5F,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAmJ3B,OAAO,CAAC,cAAc;CAmBvB"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/models/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EACL,KAAK,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAGlB,KAAK,WAAW,EAEjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,OAAO,EAA8B,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AA2B9D,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEhC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,YAAY,CAAC,EAAE,aAAa,CAAA;CAC7B;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,oBAAoB,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAW;gBAEd,OAAO,CAAC,EAAE,qBAAqB;IAqC3C,YAAY,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAIrD,SAAS,IAAI,oBAAoB;IAIjC;;;;;;;;;OASG;IACY,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BvF,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC;IA+I5F,OAAO,CAAC,oBAAoB;IAM5B,iGAAiG;IACjG,OAAO,CAAC,aAAa;IAerB,uFAAuF;IACvF,OAAO,CAAC,mBAAmB;IAS3B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,cAAc;IA8DtB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,mBAAmB;IAkK3B,OAAO,CAAC,cAAc;CAmBvB"}
@@ -1,5 +1,5 @@
1
1
  import Anthropic, {} from '@anthropic-ai/sdk';
2
- import { Model, resolveConfigMetadata, } from '../models/model.js';
2
+ import { Model, resolveConfigMetadata, resolveCacheSection, } from '../models/model.js';
3
3
  import { createEmptyUsage } from '../models/streaming.js';
4
4
  import { ContextWindowOverflowError, ModelThrottledError, normalizeError } from '../errors.js';
5
5
  import { encodeBase64 } from '../types/media.js';
@@ -17,6 +17,10 @@ const CONTEXT_WINDOW_OVERFLOW_ERRORS = [
17
17
  'input length exceeds context window',
18
18
  'input and output tokens exceed your context limit',
19
19
  ];
20
+ /**
21
+ * `ephemeral` is the only cache type the Anthropic API supports.
22
+ */
23
+ const ANTHROPIC_CACHE_TYPE = 'ephemeral';
20
24
  const TEXT_FILE_FORMATS = ['txt', 'md', 'markdown', 'csv', 'json', 'xml', 'html', 'yml', 'yaml', 'js', 'ts', 'py'];
21
25
  export class AnthropicModel extends Model {
22
26
  _config;
@@ -231,50 +235,126 @@ export class AnthropicModel extends Model {
231
235
  return undefined;
232
236
  return { headers: { 'anthropic-beta': betas.join(',') } };
233
237
  }
238
+ /** Resolves a cache section, disabled when `cacheConfig` is unset or its strategy is unknown. */
239
+ _cacheSection(section) {
240
+ const cacheConfig = this._config.cacheConfig;
241
+ if (!cacheConfig) {
242
+ return { enabled: false };
243
+ }
244
+ const strategy = cacheConfig.strategy ?? 'auto';
245
+ if (strategy !== 'auto' && strategy !== 'anthropic') {
246
+ logger.warn(`strategy=<${strategy}> | unknown cache strategy, prompt caching disabled`);
247
+ return { enabled: false };
248
+ }
249
+ return resolveCacheSection(cacheConfig[section], cacheConfig.ttl);
250
+ }
251
+ /** Builds an Anthropic `cache_control` value. A falsy `ttl` leaves the API default. */
252
+ _formatCacheControl(ttl) {
253
+ const cacheControl = { type: ANTHROPIC_CACHE_TYPE };
254
+ if (ttl) {
255
+ // The API validates TTL values server-side, so any string is passed through.
256
+ cacheControl.ttl = ttl;
257
+ }
258
+ return cacheControl;
259
+ }
260
+ /**
261
+ * Marks the last formatted block the API accepts `cache_control` on, mutating `content` in place.
262
+ * Scans backwards because the nearest block may be a rejected type or dropped in translation.
263
+ *
264
+ * @returns True when a block was marked.
265
+ */
266
+ _attachCacheControl(content, ttl, skipTrailing = 0) {
267
+ // Skip trailing blocks rebuilt every call so the cache point stays ahead of them; a prefix that
268
+ // changes every call is written every call and never read.
269
+ for (let i = content.length - 1 - skipTrailing; i >= 0; i--) {
270
+ const block = content[i];
271
+ if (block && this._isCacheableBlock(block)) {
272
+ block.cache_control = this._formatCacheControl(ttl);
273
+ return true;
274
+ }
275
+ }
276
+ return false;
277
+ }
278
+ /**
279
+ * Formats the system prompt for the Anthropic API, auto-injecting a cache point at its end.
280
+ *
281
+ * @param systemPrompt - The system prompt as a string or content blocks.
282
+ * @returns The API system value (string or text blocks), or undefined when nothing cacheable remains.
283
+ */
284
+ _formatSystemPrompt(systemPrompt) {
285
+ const systemCache = this._cacheSection('systemPromptTTL');
286
+ if (typeof systemPrompt === 'string') {
287
+ if (!systemCache.enabled)
288
+ return systemPrompt;
289
+ return [{ type: 'text', text: systemPrompt, cache_control: this._formatCacheControl(systemCache.ttl) }];
290
+ }
291
+ const systemBlocks = [];
292
+ let hasPlacedCachePoint = false;
293
+ for (let index = 0; index < systemPrompt.length; index++) {
294
+ const block = systemPrompt[index];
295
+ if (!block)
296
+ continue;
297
+ if (block.type === 'guardContentBlock') {
298
+ logger.warn('block_type=<guardContentBlock> | guard content not supported in anthropic system prompt | skipping');
299
+ continue;
300
+ }
301
+ if (block.type !== 'textBlock')
302
+ continue;
303
+ const nextBlock = systemPrompt[index + 1];
304
+ const cacheControl = nextBlock?.type === 'cachePointBlock' ? this._formatCacheControl(nextBlock.ttl || systemCache.ttl) : undefined;
305
+ systemBlocks.push({ type: 'text', text: block.text, ...(cacheControl && { cache_control: cacheControl }) });
306
+ if (cacheControl) {
307
+ hasPlacedCachePoint = true;
308
+ index++;
309
+ }
310
+ }
311
+ if (systemBlocks.length === 0)
312
+ return undefined;
313
+ if (systemCache.enabled && !hasPlacedCachePoint) {
314
+ const lastBlock = systemBlocks[systemBlocks.length - 1];
315
+ if (lastBlock)
316
+ lastBlock.cache_control = this._formatCacheControl(systemCache.ttl);
317
+ }
318
+ return systemBlocks;
319
+ }
234
320
  _formatRequest(messages, options) {
235
321
  if (!this._config.modelId)
236
322
  throw new Error('Model ID is required');
323
+ const messagesCache = this._cacheSection('messagesTTL');
324
+ // The cache point goes on the last user message with content, not counting cache point blocks.
325
+ let cacheTargetMessage = -1;
326
+ if (messagesCache.enabled) {
327
+ for (let messageIndex = messages.length - 1; messageIndex >= 0 && cacheTargetMessage < 0; messageIndex--) {
328
+ const message = messages[messageIndex];
329
+ if (message?.role === 'user' && message.content.some((block) => block.type !== 'cachePointBlock')) {
330
+ cacheTargetMessage = messageIndex;
331
+ }
332
+ }
333
+ }
237
334
  const request = {
238
335
  model: this._config.modelId,
239
336
  max_tokens: this._config.maxTokens ?? MODEL_DEFAULTS.anthropic.maxTokens,
240
- messages: this._formatMessages(messages),
337
+ messages: this._formatMessages(messages, messagesCache, cacheTargetMessage, options?.dynamicTrailingBlocks ?? 0),
241
338
  stream: true,
242
339
  };
243
340
  if (options?.systemPrompt) {
244
- if (typeof options.systemPrompt === 'string') {
245
- request.system = options.systemPrompt;
246
- }
247
- else if (Array.isArray(options.systemPrompt)) {
248
- const systemBlocks = [];
249
- for (let i = 0; i < options.systemPrompt.length; i++) {
250
- const block = options.systemPrompt[i];
251
- if (!block)
252
- continue;
253
- if (block.type === 'textBlock') {
254
- const nextBlock = options.systemPrompt[i + 1];
255
- const cacheControl = nextBlock?.type === 'cachePointBlock' ? { type: 'ephemeral' } : undefined;
256
- systemBlocks.push({
257
- type: 'text',
258
- text: block.text,
259
- ...(cacheControl && { cache_control: cacheControl }),
260
- });
261
- if (cacheControl)
262
- i++;
263
- }
264
- else if (block.type === 'guardContentBlock') {
265
- logger.warn('block_type=<guardContentBlock> | guard content not supported in anthropic system prompt | skipping');
266
- }
267
- }
268
- if (systemBlocks.length > 0)
269
- request.system = systemBlocks;
270
- }
341
+ const system = this._formatSystemPrompt(options.systemPrompt);
342
+ if (system !== undefined)
343
+ request.system = system;
271
344
  }
272
345
  if (options?.toolSpecs?.length) {
273
- request.tools = options.toolSpecs.map((tool) => ({
346
+ const tools = options.toolSpecs.map((tool) => ({
274
347
  name: tool.name,
275
348
  description: tool.description,
276
349
  input_schema: tool.inputSchema,
277
350
  }));
351
+ // A cache_control on the last tool caches all of them, so one cache point suffices.
352
+ const toolsCache = this._cacheSection('toolsTTL');
353
+ const lastTool = tools[tools.length - 1];
354
+ if (toolsCache.enabled && lastTool) {
355
+ lastTool.cache_control = this._formatCacheControl(toolsCache.ttl);
356
+ }
357
+ request.tools = tools;
278
358
  if (options.toolChoice) {
279
359
  if ('auto' in options.toolChoice) {
280
360
  request.tool_choice = { type: 'auto' };
@@ -297,23 +377,51 @@ export class AnthropicModel extends Model {
297
377
  Object.assign(request, this._config.params);
298
378
  return request;
299
379
  }
300
- _formatMessages(messages) {
301
- return messages.map((msg) => {
380
+ _formatMessages(messages, messagesCache = { enabled: false }, cacheTargetMessage = -1, dynamicTrailingBlocks = 0) {
381
+ let strippedCachePoints = 0;
382
+ const cacheManaged = messagesCache.enabled;
383
+ const formatted = messages.map((msg, messageIndex) => {
302
384
  const role = msg.role === 'tool' ? 'user' : msg.role;
385
+ const isCacheTarget = cacheManaged && messageIndex === cacheTargetMessage;
303
386
  const content = [];
304
- for (let i = 0; i < msg.content.length; i++) {
305
- const block = msg.content[i];
387
+ let marked = false;
388
+ let honored = false;
389
+ for (const block of msg.content) {
306
390
  if (!block)
307
391
  continue;
308
- const nextBlock = msg.content[i + 1];
309
- const hasCachePoint = nextBlock?.type === 'cachePointBlock';
310
- const formattedBlock = this._formatContentBlock(block);
311
- if (formattedBlock) {
312
- if (hasCachePoint && this._isCacheableBlock(formattedBlock)) {
313
- formattedBlock.cache_control = { type: 'ephemeral' };
314
- i++;
392
+ if (block.type === 'cachePointBlock') {
393
+ if (!cacheManaged) {
394
+ if (!this._attachCacheControl(content, block.ttl)) {
395
+ logger.warn('no preceding block accepts a cache point | skipped cache point');
396
+ }
397
+ }
398
+ else if (isCacheTarget && !honored) {
399
+ // A TTL written on the point is more specific than the configured one.
400
+ honored = true;
401
+ marked = this._attachCacheControl(content, block.ttl || messagesCache.ttl);
402
+ if (!marked) {
403
+ logger.warn(`msg_idx=<${messageIndex}> | nothing ahead of the placed cache point can carry one, ` +
404
+ `falling back to automatic placement`);
405
+ }
315
406
  }
407
+ else {
408
+ strippedCachePoints += 1;
409
+ }
410
+ continue;
411
+ }
412
+ const formattedBlock = this._formatContentBlock(block);
413
+ if (formattedBlock)
316
414
  content.push(formattedBlock);
415
+ }
416
+ // Placed after formatting so the cache point lands on a block that survived translation.
417
+ // Per-call trailing blocks apply only to the cache-target message, where a producer appends
418
+ // content rebuilt every call.
419
+ if (isCacheTarget && !marked) {
420
+ if (this._attachCacheControl(content, messagesCache.ttl, dynamicTrailingBlocks)) {
421
+ logger.debug(`msg_idx=<${messageIndex}> | added cache point to last user message`);
422
+ }
423
+ else {
424
+ logger.debug(`msg_idx=<${messageIndex}> | no cacheable content block, skipped cache point`);
317
425
  }
318
426
  }
319
427
  return {
@@ -321,6 +429,11 @@ export class AnthropicModel extends Model {
321
429
  content,
322
430
  };
323
431
  });
432
+ if (strippedCachePoints > 0) {
433
+ logger.warn(`count=<${strippedCachePoints}> | stripped extra cache points, cacheConfig keeps the first cache ` +
434
+ `point in the last user message; unset cacheConfig to keep every cache point`);
435
+ }
436
+ return formatted;
324
437
  }
325
438
  _isCacheableBlock(block) {
326
439
  return ['text', 'image', 'tool_use', 'tool_result', 'document'].includes(block.type);
@@ -349,18 +462,30 @@ export class AnthropicModel extends Model {
349
462
  default:
350
463
  throw new Error(`Unsupported image format for Anthropic: ${imgBlock.format}`);
351
464
  }
352
- if (imgBlock.source.type === 'imageSourceBytes') {
353
- return {
354
- type: 'image',
355
- source: {
356
- type: 'base64',
357
- media_type: mediaType,
358
- data: encodeBase64(imgBlock.source.bytes),
359
- },
360
- };
465
+ switch (imgBlock.source.type) {
466
+ case 'imageSourceBytes':
467
+ return {
468
+ type: 'image',
469
+ source: {
470
+ type: 'base64',
471
+ media_type: mediaType,
472
+ data: encodeBase64(imgBlock.source.bytes),
473
+ },
474
+ };
475
+ case 'imageSourceUrl':
476
+ return {
477
+ type: 'image',
478
+ source: {
479
+ type: 'url',
480
+ url: imgBlock.source.url,
481
+ },
482
+ };
483
+ case 'imageSourceS3Location':
484
+ logger.warn('source_type=<imageSourceS3Location> | s3 location sources are not supported by anthropic | skipping');
485
+ return undefined;
486
+ default:
487
+ throw new Error(`Unsupported image source for Anthropic: ${imgBlock.source.type}`);
361
488
  }
362
- logger.warn('source_type=<imageSourceUrl> | anthropic requires image bytes | url sources not fully supported');
363
- return undefined;
364
489
  }
365
490
  case 'documentBlock': {
366
491
  const docBlock = block;
@@ -395,8 +520,7 @@ export class AnthropicModel extends Model {
395
520
  };
396
521
  }
397
522
  }
398
- logger.warn(`format=<${docBlock.format}> | unsupported document format or source for anthropic`);
399
- return undefined;
523
+ throw new Error(`Unsupported document format or source for Anthropic: format=${docBlock.format}, source=${docBlock.source.type}`);
400
524
  }
401
525
  case 'toolUseBlock':
402
526
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/models/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/models/anthropic.ts"],"names":[],"mappings":"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"}
@@ -7,17 +7,15 @@
7
7
  * @see https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html
8
8
  */
9
9
  import { type BedrockRuntimeClientConfig } from '@aws-sdk/client-bedrock-runtime';
10
- import { type BaseModelConfig, type CacheConfig, type CountTokensOptions, Model, type StreamOptions } from '../models/model.js';
10
+ import { type BaseModelConfig, type CacheConfig, type CacheTTL, type CountTokensOptions, Model, type StreamOptions } from '../models/model.js';
11
11
  import type { Message } from '../types/messages.js';
12
12
  import type { ModelStreamEvent } from '../models/streaming.js';
13
13
  import type { JSONValue } from '../types/json.js';
14
14
  /**
15
15
  * TTL durations accepted by Bedrock for prompt-cache checkpoints.
16
16
  *
17
- * Bedrock currently accepts `'5m'` (default) and `'1h'`. The `(string & {})` branch keeps
18
- * autocomplete on the known values while letting callers pass any string forward — Bedrock
19
- * validates the value server-side and rejects unsupported values with `ValidationException`,
20
- * so this stays correct as AWS adds new TTL values without an SDK update.
17
+ * Bedrock accepts `'5m'` (default) and `'1h'`, and validates the value server-side, rejecting
18
+ * unsupported values with `ValidationException`.
21
19
  *
22
20
  * Bedrock also requires checkpoint TTLs to be **non-increasing** across
23
21
  * `toolConfig` → system → messages — setting a longer TTL on a later checkpoint than an
@@ -25,17 +23,11 @@ import type { JSONValue } from '../types/json.js';
25
23
  *
26
24
  * @see https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CachePointBlock.html
27
25
  */
28
- export type BedrockCacheTTL = '5m' | '1h' | (string & {});
26
+ export type BedrockCacheTTL = CacheTTL;
29
27
  /**
30
- * Bedrock-specific prompt-caching configuration. Narrows the TTL fields onto the common
31
- * {@link CacheConfig} for the Bedrock provider.
28
+ * Prompt-caching configuration for the Bedrock provider.
32
29
  */
33
- export interface BedrockCacheConfig extends CacheConfig {
34
- /** TTL applied to the auto-injected cache point appended after `toolConfig.tools`. */
35
- toolsTTL?: BedrockCacheTTL;
36
- /** TTL applied to the auto-injected cache point appended to the last user message. */
37
- messagesTTL?: BedrockCacheTTL;
38
- }
30
+ export type BedrockCacheConfig = CacheConfig;
39
31
  /**
40
32
  * Redaction configuration for Bedrock guardrails.
41
33
  * Controls whether and how blocked content is replaced.
@@ -271,11 +263,25 @@ export declare class BedrockModel extends Model<BedrockModelConfig> {
271
263
  * Determines if caching should be enabled.
272
264
  * Returns true when:
273
265
  * - strategy is 'anthropic' (explicit enable)
274
- * - strategy is 'auto' and model supports caching (auto-detect)
266
+ * - strategy is 'auto' (the default) and the model supports caching (auto-detect)
275
267
  *
276
- * @returns True if caching should be enabled
268
+ * @returns True if caching should be enabled.
277
269
  */
278
270
  private _shouldEnableCaching;
271
+ /**
272
+ * Whether to auto-inject a cache point at the end of the system prompt.
273
+ *
274
+ * @param system - The system content blocks that will be sent to Bedrock.
275
+ * @returns True if a cache point should be appended.
276
+ */
277
+ private _shouldCacheSystem;
278
+ /**
279
+ * Fills the resolved system-section TTL into a system cache point that carries none of its own,
280
+ * whether auto-injected or caller-placed.
281
+ *
282
+ * @param request - The formatted request, with `system` and `toolConfig` already populated.
283
+ */
284
+ private _applySystemCacheTTL;
279
285
  /**
280
286
  * Updates the model configuration.
281
287
  * Merges the provided configuration with existing settings.
@@ -381,6 +387,7 @@ export declare class BedrockModel extends Model<BedrockModelConfig> {
381
387
  * @param content - Content blocks of the last user message (modified in place)
382
388
  * @param placedIdx - Index of the caller-placed cache point
383
389
  * @param msgIdx - Index of the message, for logging
390
+ * @param ttl - TTL for the honored cache point. Falsy leaves the Bedrock default.
384
391
  * @returns True when the point was kept, possibly relocated. False when nothing cacheable precedes
385
392
  * it, so the point was removed: Bedrock rejects a cache point with no content ahead of it ("There
386
393
  * is nothing available to cache"). The caller then retries automatic placement, which lands a point
@@ -399,6 +406,7 @@ export declare class BedrockModel extends Model<BedrockModelConfig> {
399
406
  * against the provider's cache-point budget.
400
407
  *
401
408
  * @param messages - List of messages to inject cache point into (modified in place)
409
+ * @param ttl - TTL for the injected cache point. Falsy leaves the Bedrock default.
402
410
  */
403
411
  private _injectCachePoint;
404
412
  /**
@@ -442,7 +450,7 @@ export declare class BedrockModel extends Model<BedrockModelConfig> {
442
450
  */
443
451
  private _formatContentBlock;
444
452
  /**
445
- * Format media source (image/video) for Bedrock API.
453
+ * Format media source (audio/image/video) for Bedrock API.
446
454
  * Handles bytes, S3 locations, and s3:// URLs.
447
455
  *
448
456
  * @param source - Media source