@strands-agents/sdk 1.1.0 → 1.3.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 (199) hide show
  1. package/README.md +6 -0
  2. package/dist/src/__tests__/interrupt.test.js +13 -8
  3. package/dist/src/__tests__/interrupt.test.js.map +1 -1
  4. package/dist/src/__tests__/mcp.test.js +221 -7
  5. package/dist/src/__tests__/mcp.test.js.map +1 -1
  6. package/dist/src/agent/__tests__/agent.interrupt.test.js +54 -5
  7. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -1
  8. package/dist/src/agent/__tests__/agent.test.js +56 -0
  9. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  10. package/dist/src/agent/__tests__/printer.test.js +58 -18
  11. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  12. package/dist/src/agent/__tests__/snapshot.test.js +98 -0
  13. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  14. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  15. package/dist/src/agent/agent-as-tool.js +2 -3
  16. package/dist/src/agent/agent-as-tool.js.map +1 -1
  17. package/dist/src/agent/agent.d.ts +65 -0
  18. package/dist/src/agent/agent.d.ts.map +1 -1
  19. package/dist/src/agent/agent.js +89 -10
  20. package/dist/src/agent/agent.js.map +1 -1
  21. package/dist/src/agent/printer.d.ts +14 -1
  22. package/dist/src/agent/printer.d.ts.map +1 -1
  23. package/dist/src/agent/printer.js +33 -5
  24. package/dist/src/agent/printer.js.map +1 -1
  25. package/dist/src/agent/snapshot.d.ts +9 -17
  26. package/dist/src/agent/snapshot.d.ts.map +1 -1
  27. package/dist/src/agent/snapshot.js +9 -17
  28. package/dist/src/agent/snapshot.js.map +1 -1
  29. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +371 -39
  30. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  31. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +26 -7
  32. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  33. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +192 -41
  34. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  35. package/dist/src/hooks/events.d.ts +24 -3
  36. package/dist/src/hooks/events.d.ts.map +1 -1
  37. package/dist/src/hooks/events.js +26 -4
  38. package/dist/src/hooks/events.js.map +1 -1
  39. package/dist/src/hooks/index.d.ts +1 -1
  40. package/dist/src/hooks/index.d.ts.map +1 -1
  41. package/dist/src/hooks/index.js +1 -1
  42. package/dist/src/hooks/index.js.map +1 -1
  43. package/dist/src/hooks/types.d.ts +2 -0
  44. package/dist/src/hooks/types.d.ts.map +1 -1
  45. package/dist/src/hooks/types.js +2 -0
  46. package/dist/src/hooks/types.js.map +1 -1
  47. package/dist/src/index.d.ts +8 -4
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +6 -2
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/interrupt.d.ts +29 -2
  52. package/dist/src/interrupt.d.ts.map +1 -1
  53. package/dist/src/interrupt.js +45 -3
  54. package/dist/src/interrupt.js.map +1 -1
  55. package/dist/src/interventions/__tests__/handler.test.d.ts +2 -0
  56. package/dist/src/interventions/__tests__/handler.test.d.ts.map +1 -0
  57. package/dist/src/interventions/__tests__/handler.test.js +35 -0
  58. package/dist/src/interventions/__tests__/handler.test.js.map +1 -0
  59. package/dist/src/interventions/__tests__/registry.test.d.ts +2 -0
  60. package/dist/src/interventions/__tests__/registry.test.d.ts.map +1 -0
  61. package/dist/src/interventions/__tests__/registry.test.js +692 -0
  62. package/dist/src/interventions/__tests__/registry.test.js.map +1 -0
  63. package/dist/src/interventions/actions.d.ts +186 -0
  64. package/dist/src/interventions/actions.d.ts.map +1 -0
  65. package/dist/src/interventions/actions.js +56 -0
  66. package/dist/src/interventions/actions.js.map +1 -0
  67. package/dist/src/interventions/handler.d.ts +44 -0
  68. package/dist/src/interventions/handler.d.ts.map +1 -0
  69. package/dist/src/interventions/handler.js +41 -0
  70. package/dist/src/interventions/handler.js.map +1 -0
  71. package/dist/src/interventions/index.d.ts +12 -0
  72. package/dist/src/interventions/index.d.ts.map +1 -0
  73. package/dist/src/interventions/index.js +4 -0
  74. package/dist/src/interventions/index.js.map +1 -0
  75. package/dist/src/interventions/registry.d.ts +34 -0
  76. package/dist/src/interventions/registry.d.ts.map +1 -0
  77. package/dist/src/interventions/registry.js +248 -0
  78. package/dist/src/interventions/registry.js.map +1 -0
  79. package/dist/src/mcp.d.ts +38 -2
  80. package/dist/src/mcp.d.ts.map +1 -1
  81. package/dist/src/mcp.js +84 -7
  82. package/dist/src/mcp.js.map +1 -1
  83. package/dist/src/models/__tests__/anthropic.test.js +74 -10
  84. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  85. package/dist/src/models/__tests__/bedrock.test.js +43 -20
  86. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  87. package/dist/src/models/__tests__/google.test.js +14 -6
  88. package/dist/src/models/__tests__/google.test.js.map +1 -1
  89. package/dist/src/models/anthropic.d.ts +15 -3
  90. package/dist/src/models/anthropic.d.ts.map +1 -1
  91. package/dist/src/models/anthropic.js +30 -9
  92. package/dist/src/models/anthropic.js.map +1 -1
  93. package/dist/src/models/bedrock.d.ts +6 -7
  94. package/dist/src/models/bedrock.d.ts.map +1 -1
  95. package/dist/src/models/bedrock.js +31 -18
  96. package/dist/src/models/bedrock.js.map +1 -1
  97. package/dist/src/models/google/model.js +1 -1
  98. package/dist/src/models/google/model.js.map +1 -1
  99. package/dist/src/models/google/types.d.ts +5 -3
  100. package/dist/src/models/google/types.d.ts.map +1 -1
  101. package/dist/src/models/openai/__tests__/chat.test.js +10 -2
  102. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
  103. package/dist/src/models/openai/__tests__/mantle.test.d.ts +2 -0
  104. package/dist/src/models/openai/__tests__/mantle.test.d.ts.map +1 -0
  105. package/dist/src/models/openai/__tests__/mantle.test.js +189 -0
  106. package/dist/src/models/openai/__tests__/mantle.test.js.map +1 -0
  107. package/dist/src/models/openai/__tests__/responses.test.js +19 -0
  108. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
  109. package/dist/src/models/openai/errors.d.ts.map +1 -1
  110. package/dist/src/models/openai/errors.js +7 -4
  111. package/dist/src/models/openai/errors.js.map +1 -1
  112. package/dist/src/models/openai/index.d.ts +1 -0
  113. package/dist/src/models/openai/index.d.ts.map +1 -1
  114. package/dist/src/models/openai/mantle.d.ts +77 -0
  115. package/dist/src/models/openai/mantle.d.ts.map +1 -0
  116. package/dist/src/models/openai/mantle.js +83 -0
  117. package/dist/src/models/openai/mantle.js.map +1 -0
  118. package/dist/src/models/openai/model.d.ts.map +1 -1
  119. package/dist/src/models/openai/model.js +29 -1
  120. package/dist/src/models/openai/model.js.map +1 -1
  121. package/dist/src/models/openai/types.d.ts +11 -0
  122. package/dist/src/models/openai/types.d.ts.map +1 -1
  123. package/dist/src/multiagent/__tests__/graph.tracer.test.js +14 -0
  124. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -1
  125. package/dist/src/multiagent/__tests__/interrupts.test.d.ts +2 -0
  126. package/dist/src/multiagent/__tests__/interrupts.test.d.ts.map +1 -0
  127. package/dist/src/multiagent/__tests__/interrupts.test.js +390 -0
  128. package/dist/src/multiagent/__tests__/interrupts.test.js.map +1 -0
  129. package/dist/src/multiagent/__tests__/state.test.js +139 -1
  130. package/dist/src/multiagent/__tests__/state.test.js.map +1 -1
  131. package/dist/src/multiagent/events.d.ts +15 -1
  132. package/dist/src/multiagent/events.d.ts.map +1 -1
  133. package/dist/src/multiagent/events.js +18 -0
  134. package/dist/src/multiagent/events.js.map +1 -1
  135. package/dist/src/multiagent/graph.d.ts +37 -1
  136. package/dist/src/multiagent/graph.d.ts.map +1 -1
  137. package/dist/src/multiagent/graph.js +171 -43
  138. package/dist/src/multiagent/graph.js.map +1 -1
  139. package/dist/src/multiagent/multiagent.d.ts +78 -6
  140. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  141. package/dist/src/multiagent/multiagent.js +115 -1
  142. package/dist/src/multiagent/multiagent.js.map +1 -1
  143. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  144. package/dist/src/multiagent/nodes.js +55 -21
  145. package/dist/src/multiagent/nodes.js.map +1 -1
  146. package/dist/src/multiagent/state.d.ts +39 -3
  147. package/dist/src/multiagent/state.d.ts.map +1 -1
  148. package/dist/src/multiagent/state.js +80 -1
  149. package/dist/src/multiagent/state.js.map +1 -1
  150. package/dist/src/multiagent/swarm.d.ts +15 -0
  151. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  152. package/dist/src/multiagent/swarm.js +127 -37
  153. package/dist/src/multiagent/swarm.js.map +1 -1
  154. package/dist/src/registry/__tests__/tool-registry.test.js +26 -0
  155. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  156. package/dist/src/registry/tool-registry.d.ts +9 -7
  157. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  158. package/dist/src/registry/tool-registry.js +29 -10
  159. package/dist/src/registry/tool-registry.js.map +1 -1
  160. package/dist/src/session/__tests__/session-manager.test.js +45 -3
  161. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  162. package/dist/src/session/session-manager.d.ts +5 -2
  163. package/dist/src/session/session-manager.d.ts.map +1 -1
  164. package/dist/src/session/session-manager.js +9 -6
  165. package/dist/src/session/session-manager.js.map +1 -1
  166. package/dist/src/telemetry/__tests__/meter.test.js +5 -27
  167. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  168. package/dist/src/telemetry/meter.d.ts +12 -4
  169. package/dist/src/telemetry/meter.d.ts.map +1 -1
  170. package/dist/src/telemetry/meter.js +13 -8
  171. package/dist/src/telemetry/meter.js.map +1 -1
  172. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  173. package/dist/src/tools/mcp-tool.js +3 -2
  174. package/dist/src/tools/mcp-tool.js.map +1 -1
  175. package/dist/src/tsconfig.tsbuildinfo +1 -1
  176. package/dist/src/types/__tests__/agent.test.js +97 -0
  177. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  178. package/dist/src/types/agent.d.ts +26 -5
  179. package/dist/src/types/agent.d.ts.map +1 -1
  180. package/dist/src/types/agent.js +20 -3
  181. package/dist/src/types/agent.js.map +1 -1
  182. package/dist/src/types/messages.d.ts +3 -1
  183. package/dist/src/types/messages.d.ts.map +1 -1
  184. package/dist/src/types/messages.js.map +1 -1
  185. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +208 -0
  186. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
  187. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts +2 -0
  188. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts.map +1 -0
  189. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js +149 -0
  190. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js.map +1 -0
  191. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  192. package/dist/src/vended-plugins/context-offloader/plugin.js +57 -10
  193. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  194. package/dist/src/vended-plugins/context-offloader/search.d.ts +25 -0
  195. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -0
  196. package/dist/src/vended-plugins/context-offloader/search.js +120 -0
  197. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -0
  198. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  199. package/package.json +11 -1
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../src/agent/__tests__/snapshot.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../src/agent/__tests__/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-as-tool.d.ts","sourceRoot":"","sources":["../../../src/agent/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,OAAO,EAAqB,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,KAAK,CAAQ;gBAET,MAAM,EAAE,eAAe;IAwCnC;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,CAEjB;IAEM,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAuD7D"}
1
+ {"version":3,"file":"agent-as-tool.d.ts","sourceRoot":"","sources":["../../../src/agent/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvC,OAAO,EAAqB,IAAI,EAAmB,MAAM,kBAAkB,CAAA;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;;;;;;;;OAWG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;GAEG;AACH,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,WAAY,SAAQ,IAAI;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,OAAO,CAAC,KAAK,CAAQ;gBAET,MAAM,EAAE,eAAe;IAwCnC;;OAEG;IACH,IAAI,KAAK,IAAI,KAAK,CAEjB;IAEM,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAuD7D"}
@@ -5,7 +5,6 @@
5
5
  * so it can be used by another agent. Agents passed directly in the tools
6
6
  * array are automatically wrapped via {@link Agent.asTool}.
7
7
  */
8
- import { takeSnapshot, loadSnapshot } from './snapshot.js';
9
8
  import { JsonBlock, TextBlock, ToolResultBlock } from '../types/messages.js';
10
9
  import { createErrorResult, Tool, ToolStreamEvent } from '../tools/tool.js';
11
10
  /**
@@ -54,7 +53,7 @@ export class AgentAsTool extends Tool {
54
53
  'state between invocations. Use preserveContext=true or remove the SessionManager.');
55
54
  }
56
55
  if (!this._preserveContext) {
57
- this._initialSnapshot = takeSnapshot(this._agent, { preset: 'session' });
56
+ this._initialSnapshot = this._agent.takeSnapshot({ preset: 'session' });
58
57
  }
59
58
  this.name = config.name ?? config.agent.name;
60
59
  this.description =
@@ -94,7 +93,7 @@ export class AgentAsTool extends Tool {
94
93
  const { input } = toolUse.input;
95
94
  // Reset agent state if not preserving context
96
95
  if (this._initialSnapshot) {
97
- loadSnapshot(this._agent, this._initialSnapshot);
96
+ this._agent.loadSnapshot(this._initialSnapshot);
98
97
  }
99
98
  // Stream the sub-agent, forwarding the outer invocation's state so
100
99
  // mutations in the inner agent's hooks/tools are visible to the outer
@@ -1 +1 @@
1
- {"version":3,"file":"agent-as-tool.js","sourceRoot":"","sources":["../../../src/agent/agent-as-tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAgD3E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,WAAY,SAAQ,IAAI;IAC1B,IAAI,CAAQ;IACZ,WAAW,CAAQ;IACnB,QAAQ,CAAU;IAEV,MAAM,CAAO;IACb,gBAAgB,CAAS;IACzB,gBAAgB,CAAsB;IAC/C,KAAK,GAAG,KAAK,CAAA;IAErB,YAAY,MAAuB;QACjC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,eAAe,IAAI,KAAK,CAAA;QAEvD,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,sEAAsE;gBAC9F,gGAAgG;gBAChG,mFAAmF,CACtF,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAC1E,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAA;QAE5C,IAAI,CAAC,WAAW;YACd,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,KAAK,CAAC,WAAW;gBACxB,WAAW,IAAI,CAAC,IAAI,8CAA8C,CAAA;QAEpE,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,WAAwB;QACpC,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAA;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAEnC,qEAAqE;QACrE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CAAC,UAAU,IAAI,CAAC,IAAI,mCAAmC,EAAE,SAAS,CAAC,CAAA;QAC7F,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAA0B,CAAA;YAEpD,8CAA8C;YAC9C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAClD,CAAC;YAED,mEAAmE;YACnE,sEAAsE;YACtE,sDAAsD;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,WAAW,CAAC,eAAe,EAAE,CAAC,CAAA;YACvF,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC3B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,IAAI,KAAK,CAAC,IAAI,IAAI,uBAAuB,EAAE,CAAC;oBAC1C,MAAM,KAAK,CAAC,KAAK,CAAA;gBACnB,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBACjD,CAAC;gBAED,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YACzB,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAA;YAEzB,wBAAwB;YACxB,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,IAAI,eAAe,CAAC;oBACzB,SAAS;oBACT,MAAM,EAAE,SAAS;oBACjB,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,gBAA6B,EAAE,CAAC,CAAC;iBACzE,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,eAAe,CAAC;gBACzB,SAAS;gBACT,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,kCAAkC;aAChF,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QAC5C,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QACpB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"agent-as-tool.js","sourceRoot":"","sources":["../../../src/agent/agent-as-tool.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { BaseModelConfig } from '../models/model.js';
8
8
  import { ToolRegistry } from '../registry/tool-registry.js';
9
9
  import { StateStore } from '../state-store.js';
10
10
  import type { Plugin } from '../plugins/plugin.js';
11
+ import type { InterventionHandler } from '../interventions/handler.js';
11
12
  import { ConversationManager } from '../conversation-manager/conversation-manager.js';
12
13
  import type { HookableEventConstructor, HookCallback, HookCallbackOptions, HookCleanup } from '../hooks/types.js';
13
14
  import { HookableEvent } from '../hooks/events.js';
@@ -17,6 +18,8 @@ import { SessionManager } from '../session/session-manager.js';
17
18
  import type { AttributeValue } from '@opentelemetry/api';
18
19
  import type { RetryStrategy } from '../retry/retry-strategy.js';
19
20
  import { InterruptState } from '../interrupt.js';
21
+ import type { TakeSnapshotOptions } from './snapshot.js';
22
+ import type { Snapshot } from '../types/snapshot.js';
20
23
  /**
21
24
  * Recursive type definition for nested tool arrays.
22
25
  * Allows tools to be organized in nested arrays of any depth.
@@ -112,6 +115,10 @@ export type AgentConfig = {
112
115
  * - `null` or `[]`: retries are explicitly disabled; failures propagate to the caller.
113
116
  */
114
117
  retryStrategy?: RetryStrategy | RetryStrategy[] | null;
118
+ /**
119
+ * Intervention handlers evaluated in registration order at each lifecycle point.
120
+ */
121
+ interventions?: InterventionHandler[];
115
122
  /**
116
123
  * Zod schema for structured output validation.
117
124
  */
@@ -194,6 +201,7 @@ export declare class Agent implements LocalAgent, InvokableAgent {
194
201
  readonly sessionManager?: SessionManager | undefined;
195
202
  private readonly _hooksRegistry;
196
203
  private readonly _pluginRegistry;
204
+ private readonly _interventionRegistry;
197
205
  private _toolRegistry;
198
206
  private _mcpClients;
199
207
  private _initialized;
@@ -372,6 +380,63 @@ export declare class Agent implements LocalAgent, InvokableAgent {
372
380
  * ```
373
381
  */
374
382
  asTool(options?: AgentAsToolOptions): Tool;
383
+ /**
384
+ * Captures a point-in-time snapshot of the agent's current state.
385
+ *
386
+ * Use snapshots to checkpoint agent state for later restoration, enabling
387
+ * use cases like undo/redo, branching conversations, and session persistence.
388
+ *
389
+ * Fields are selected via a preset/include/exclude model:
390
+ * 1. Start with preset fields (e.g. `'session'` captures all fields)
391
+ * 2. Add any `include` fields
392
+ * 3. Remove any `exclude` fields
393
+ *
394
+ * @param options - Controls which fields to capture and optional app data to store
395
+ * @returns A {@link Snapshot} containing the captured agent state
396
+ * @throws Error if no fields would be included after applying options
397
+ *
398
+ * @example
399
+ * ```typescript
400
+ * // Capture all session-relevant state
401
+ * const snapshot = agent.takeSnapshot({ preset: 'session' })
402
+ *
403
+ * // Capture only messages and state
404
+ * const partial = agent.takeSnapshot({ include: ['messages', 'state'] })
405
+ *
406
+ * // Capture session state but exclude interrupts
407
+ * const noInterrupts = agent.takeSnapshot({ preset: 'session', exclude: ['interrupts'] })
408
+ *
409
+ * // Attach application-owned metadata
410
+ * const withMeta = agent.takeSnapshot({ preset: 'session', appData: { userId: 'u-123' } })
411
+ * ```
412
+ */
413
+ takeSnapshot(options: TakeSnapshotOptions): Snapshot;
414
+ /**
415
+ * Restores agent state from a previously captured snapshot.
416
+ *
417
+ * Only fields present in `snapshot.data` are restored; absent fields are left
418
+ * unchanged. This allows partial snapshots to update specific aspects of state
419
+ * without affecting others.
420
+ *
421
+ * @param snapshot - The snapshot to restore from
422
+ * @throws Error if `snapshot.schemaVersion` is incompatible or scope is wrong
423
+ *
424
+ * @example
425
+ * ```typescript
426
+ * // Save and restore a conversation checkpoint
427
+ * const checkpoint = agent.takeSnapshot({ preset: 'session' })
428
+ *
429
+ * // ... agent continues processing ...
430
+ *
431
+ * // Restore to the checkpoint
432
+ * agent.loadSnapshot(checkpoint)
433
+ *
434
+ * // Restore from a JSON-serialized snapshot (e.g. from storage)
435
+ * const stored = JSON.parse(savedSnapshotJson)
436
+ * agent.loadSnapshot(stored)
437
+ * ```
438
+ */
439
+ loadSnapshot(snapshot: Snapshot): void;
375
440
  /**
376
441
  * Invokes hook callbacks and printer for a stream event.
377
442
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAIL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAKtB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAmB,KAAK,IAAI,EAAoB,MAAM,kBAAkB,CAAA;AAI/E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAyC,MAAM,oBAAoB,CAAA;AAGhG,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAKtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAA;AAErF,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACjH,OAAO,EAUL,aAAa,EAUd,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,OAAO,EAAkB,cAAc,EAAsB,MAAM,iBAAiB,CAAA;AAIpF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,IAAI,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAA;AAE9D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,YAAY,CAAA;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,MAAM,CAAA;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAAA;IACpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAA;IAC9C,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,IAAI,CAAA;IACtD;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACrC;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,CAAC,SAAS,CAAA;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAChD;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAA;CACpC,CAAA;AAWD;;;;GAIG;AACH,qBAAa,KAAM,YAAW,UAAU,EAAE,cAAc;IACtD,gBAAgB;IAChB,SAAiB,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAA;IAEzC;;OAEG;IACI,QAAQ,EAAE,OAAO,EAAE,CAAA;IAC1B;;;OAGG;IACH,SAAgB,QAAQ,EAAE,UAAU,CAAA;IACpC;;;;OAIG;IACH,SAAgB,UAAU,EAAE,UAAU,CAAA;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqB;IAE1D;;OAEG;IACI,KAAK,EAAE,KAAK,CAAA;IAEnB;;OAEG;IACI,YAAY,CAAC,EAAE,YAAY,CAAA;IAElC;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAA;IAE1B;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpC;;OAEG;IACH,SAAgB,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;IAE3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsB;IAC5D,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,uBAAuB,CAAC,CAAyB;IACzD,qEAAqE;IACrE,OAAO,CAAC,OAAO,CAAQ;IACvB,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAO;IACrB,uDAAuD;IACvD,eAAe,EAAE,cAAc,CAAA;IAC/B,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IAEpD;;;OAGG;gBACS,MAAM,CAAC,EAAE,WAAW;IA4FhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,EAC7B,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW;IAID,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBxC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED;;;;;OAKG;IACH,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,MAAM,IAAI,IAAI;IAMrB;;;OAGG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED;;;;;;;;;;;;;;;;;OAiBG;IACU,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IASpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACW,MAAM,CAClB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,aAAa,GACtB,cAAc,CAAC,gBAAgB,EAAE,WAAW,EAAE,SAAS,CAAC;IA2F3D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAIjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,QAAQ;IAI3D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACI,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI7C;;;;;OAKG;YACW,gBAAgB;IAQ9B;;;;;;;OAOG;YACY,OAAO;IAuTtB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAuBlC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAsDvB;;;;;;OAMG;YACY,YAAY;IAoJ3B;;;;;;;;;;;;;;;OAeG;YACY,gBAAgB;IA4B/B;;;;;;;;;OASG;YACY,YAAY;IAoE3B;;;;OAIG;YACY,0BAA0B;IAezC;;;OAGG;YACY,uBAAuB;IAoEtC;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;;;;;;OASG;YACY,uBAAuB;IA8ItC;;;;;;;;;OASG;YACY,WAAW;IAmK1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;;;;;;;;;OAUG;YACW,oBAAoB;IA+BlC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAIvB"}
@@ -63,12 +63,13 @@ import { isModelStreamEvent } from '../models/streaming.js';
63
63
  import { ToolRegistry } from '../registry/tool-registry.js';
64
64
  import { StateStore } from '../state-store.js';
65
65
  import { AgentPrinter, getDefaultAppender } from './printer.js';
66
+ import { InterventionRegistry } from '../interventions/registry.js';
66
67
  import { PluginRegistry } from '../plugins/registry.js';
67
68
  import { SlidingWindowConversationManager } from '../conversation-manager/sliding-window-conversation-manager.js';
68
69
  import { NullConversationManager } from '../conversation-manager/null-conversation-manager.js';
69
70
  import { ConversationManager } from '../conversation-manager/conversation-manager.js';
70
71
  import { HookRegistryImplementation } from '../hooks/registry.js';
71
- import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, } from '../hooks/events.js';
72
+ import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, InterruptEvent, } from '../hooks/events.js';
72
73
  import { StructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from '../tools/structured-output-tool.js';
73
74
  import { AgentAsTool } from './agent-as-tool.js';
74
75
  import { SessionManager } from '../session/session-manager.js';
@@ -80,6 +81,7 @@ import { DefaultModelRetryStrategy } from '../retry/default-model-retry-strategy
80
81
  import { warnOnDuplicateRetryStrategyTypes } from '../retry/retry-strategy.js';
81
82
  import { InterruptError, InterruptState, interruptFromAgent } from '../interrupt.js';
82
83
  import { isInterruptResponseContent } from '../types/interrupt.js';
84
+ import { takeSnapshot as takeSnapshotInternal, loadSnapshot as loadSnapshotInternal } from './snapshot.js';
83
85
  /** Default name assigned to agents when none is provided. */
84
86
  const DEFAULT_AGENT_NAME = 'Strands Agent';
85
87
  /** Default identifier assigned to agents when none is provided. */
@@ -132,6 +134,7 @@ export class Agent {
132
134
  sessionManager;
133
135
  _hooksRegistry;
134
136
  _pluginRegistry;
137
+ _interventionRegistry;
135
138
  _toolRegistry;
136
139
  _mcpClients;
137
140
  _initialized;
@@ -184,6 +187,7 @@ export class Agent {
184
187
  this._mcpClients = mcpClients;
185
188
  // Initialize hooks registry
186
189
  this._hooksRegistry = new HookRegistryImplementation();
190
+ this._interventionRegistry = new InterventionRegistry(config?.interventions ?? [], this._hooksRegistry);
187
191
  // `undefined` (omitted) → install the default; `null`/`[]` → explicit opt-out.
188
192
  const retryStrategies = config?.retryStrategy === null
189
193
  ? []
@@ -258,6 +262,10 @@ export class Agent {
258
262
  await Promise.all(this._mcpClients.map(async (client) => {
259
263
  const tools = await client.listTools();
260
264
  this._toolRegistry.add(tools);
265
+ client.onToolsChanged = (oldTools, newTools) => {
266
+ oldTools.forEach((name) => this._toolRegistry.remove(name));
267
+ this._toolRegistry.addOrReplace(newTools);
268
+ };
261
269
  }));
262
270
  await this._pluginRegistry.initialize(this);
263
271
  await this._hooksRegistry.invokeCallbacks(new InitializedEvent({ agent: this }));
@@ -525,6 +533,67 @@ export class Agent {
525
533
  asTool(options) {
526
534
  return new AgentAsTool({ agent: this, ...options });
527
535
  }
536
+ /**
537
+ * Captures a point-in-time snapshot of the agent's current state.
538
+ *
539
+ * Use snapshots to checkpoint agent state for later restoration, enabling
540
+ * use cases like undo/redo, branching conversations, and session persistence.
541
+ *
542
+ * Fields are selected via a preset/include/exclude model:
543
+ * 1. Start with preset fields (e.g. `'session'` captures all fields)
544
+ * 2. Add any `include` fields
545
+ * 3. Remove any `exclude` fields
546
+ *
547
+ * @param options - Controls which fields to capture and optional app data to store
548
+ * @returns A {@link Snapshot} containing the captured agent state
549
+ * @throws Error if no fields would be included after applying options
550
+ *
551
+ * @example
552
+ * ```typescript
553
+ * // Capture all session-relevant state
554
+ * const snapshot = agent.takeSnapshot({ preset: 'session' })
555
+ *
556
+ * // Capture only messages and state
557
+ * const partial = agent.takeSnapshot({ include: ['messages', 'state'] })
558
+ *
559
+ * // Capture session state but exclude interrupts
560
+ * const noInterrupts = agent.takeSnapshot({ preset: 'session', exclude: ['interrupts'] })
561
+ *
562
+ * // Attach application-owned metadata
563
+ * const withMeta = agent.takeSnapshot({ preset: 'session', appData: { userId: 'u-123' } })
564
+ * ```
565
+ */
566
+ takeSnapshot(options) {
567
+ return takeSnapshotInternal(this, options);
568
+ }
569
+ /**
570
+ * Restores agent state from a previously captured snapshot.
571
+ *
572
+ * Only fields present in `snapshot.data` are restored; absent fields are left
573
+ * unchanged. This allows partial snapshots to update specific aspects of state
574
+ * without affecting others.
575
+ *
576
+ * @param snapshot - The snapshot to restore from
577
+ * @throws Error if `snapshot.schemaVersion` is incompatible or scope is wrong
578
+ *
579
+ * @example
580
+ * ```typescript
581
+ * // Save and restore a conversation checkpoint
582
+ * const checkpoint = agent.takeSnapshot({ preset: 'session' })
583
+ *
584
+ * // ... agent continues processing ...
585
+ *
586
+ * // Restore to the checkpoint
587
+ * agent.loadSnapshot(checkpoint)
588
+ *
589
+ * // Restore from a JSON-serialized snapshot (e.g. from storage)
590
+ * const stored = JSON.parse(savedSnapshotJson)
591
+ * agent.loadSnapshot(stored)
592
+ * ```
593
+ */
594
+ loadSnapshot(snapshot) {
595
+ loadSnapshotInternal(this, snapshot);
596
+ }
528
597
  /**
529
598
  * Invokes hook callbacks and printer for a stream event.
530
599
  *
@@ -636,19 +705,23 @@ export class Agent {
636
705
  else {
637
706
  const modelResult = yield* this._invokeModel(invocationState, structuredOutputChoice);
638
707
  if (modelResult.stopReason !== 'toolUse') {
639
- // If structured output is required, force it
640
- if (structuredOutputTool) {
641
- if (structuredOutputChoice) {
642
- throw new StructuredOutputError('The model failed to invoke the structured output tool even after it was forced.');
643
- }
644
- structuredOutputChoice = { tool: { name: STRUCTURED_OUTPUT_TOOL_NAME } };
708
+ // Schema set, we already forced, and the model still refused.
709
+ // Throw before closing the span so the cycle span records the error.
710
+ if (structuredOutputTool && structuredOutputChoice) {
711
+ throw new StructuredOutputError('The model failed to invoke the structured output tool even after it was forced.');
645
712
  }
646
713
  this._meter.endCycle(cycleStartTime);
647
714
  this._tracer.endAgentLoopSpan(cycleSpan);
648
- yield this._appendMessage(modelResult.message, invocationState);
649
- if (structuredOutputChoice) {
715
+ // Schema set, model ignored the tool — drop the response and force the tool next cycle.
716
+ // Appending the plain-text turn here would leave the conversation ending on an
717
+ // assistant message, which providers like Bedrock reject as assistant prefill.
718
+ if (structuredOutputTool) {
719
+ structuredOutputChoice = { tool: { name: STRUCTURED_OUTPUT_TOOL_NAME } };
720
+ logger.debug('structured output schema set but model responded with plain text; forcing tool use on next cycle');
650
721
  continue;
651
722
  }
723
+ // Normal end of turn.
724
+ yield this._appendMessage(modelResult.message, invocationState);
652
725
  result = new AgentResult({
653
726
  stopReason: modelResult.stopReason,
654
727
  lastMessage: modelResult.message,
@@ -766,6 +839,12 @@ export class Agent {
766
839
  return result;
767
840
  }
768
841
  if (error instanceof InterruptError) {
842
+ // Fan out one event per interrupt. Each event exposes `interrupt.source` so
843
+ // consumers can filter by origin (tool callback vs hook callback) without
844
+ // subscribing to separate event types.
845
+ for (const interrupt of error.interrupts) {
846
+ yield new InterruptEvent({ agent: this, interrupt, invocationState });
847
+ }
769
848
  result = this._createInterruptResult(invocationState);
770
849
  return result;
771
850
  }
@@ -1432,7 +1511,7 @@ export class Agent {
1432
1511
  agent: this,
1433
1512
  invocationState,
1434
1513
  interrupt: (params) => {
1435
- return interruptFromAgent(this, `tool:${toolUseBlock.toolUseId}:${params.name}`, params);
1514
+ return interruptFromAgent(this, `tool:${toolUseBlock.toolUseId}:${params.name}`, params, 'tool');
1436
1515
  },
1437
1516
  };
1438
1517
  try {