@strands-agents/sdk 1.0.0 → 1.1.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 (245) hide show
  1. package/dist/src/__fixtures__/agent-helpers.d.ts +16 -1
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +42 -0
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/__fixtures__/tool-helpers.d.ts +2 -1
  6. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  7. package/dist/src/__fixtures__/tool-helpers.js +20 -3
  8. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  9. package/dist/src/__tests__/interrupt.test.d.ts +2 -0
  10. package/dist/src/__tests__/interrupt.test.d.ts.map +1 -0
  11. package/dist/src/__tests__/interrupt.test.js +259 -0
  12. package/dist/src/__tests__/interrupt.test.js.map +1 -0
  13. package/dist/src/__tests__/mcp.test.js +226 -0
  14. package/dist/src/__tests__/mcp.test.js.map +1 -1
  15. package/dist/src/agent/__tests__/agent.hook.test.js +551 -1
  16. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  17. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +2 -0
  18. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +1 -0
  19. package/dist/src/agent/__tests__/agent.interrupt.test.js +730 -0
  20. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -0
  21. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +2 -0
  22. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +1 -0
  23. package/dist/src/agent/__tests__/agent.model-retry.test.js +161 -0
  24. package/dist/src/agent/__tests__/agent.model-retry.test.js.map +1 -0
  25. package/dist/src/agent/__tests__/agent.test.js +118 -0
  26. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  27. package/dist/src/agent/__tests__/snapshot.test.js +50 -4
  28. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  29. package/dist/src/agent/agent.d.ts +35 -4
  30. package/dist/src/agent/agent.d.ts.map +1 -1
  31. package/dist/src/agent/agent.js +548 -222
  32. package/dist/src/agent/agent.js.map +1 -1
  33. package/dist/src/agent/snapshot.d.ts +2 -2
  34. package/dist/src/agent/snapshot.d.ts.map +1 -1
  35. package/dist/src/agent/snapshot.js +14 -2
  36. package/dist/src/agent/snapshot.js.map +1 -1
  37. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +230 -9
  38. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -1
  39. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +19 -6
  40. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  41. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +51 -2
  42. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  43. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +75 -1
  44. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  45. package/dist/src/conversation-manager/conversation-manager.d.ts +67 -22
  46. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  47. package/dist/src/conversation-manager/conversation-manager.js +65 -13
  48. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  49. package/dist/src/conversation-manager/index.d.ts +1 -1
  50. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  51. package/dist/src/conversation-manager/index.js +1 -1
  52. package/dist/src/conversation-manager/index.js.map +1 -1
  53. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +17 -3
  54. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  55. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +10 -4
  56. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  57. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +23 -1
  58. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  59. package/dist/src/conversation-manager/summarizing-conversation-manager.js +39 -17
  60. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  61. package/dist/src/hooks/__tests__/events.test.js +99 -12
  62. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  63. package/dist/src/hooks/__tests__/registry.test.js +166 -2
  64. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  65. package/dist/src/hooks/events.d.ts +102 -30
  66. package/dist/src/hooks/events.d.ts.map +1 -1
  67. package/dist/src/hooks/events.js +87 -6
  68. package/dist/src/hooks/events.js.map +1 -1
  69. package/dist/src/hooks/index.d.ts +3 -2
  70. package/dist/src/hooks/index.d.ts.map +1 -1
  71. package/dist/src/hooks/index.js +1 -0
  72. package/dist/src/hooks/index.js.map +1 -1
  73. package/dist/src/hooks/registry.d.ts +12 -12
  74. package/dist/src/hooks/registry.d.ts.map +1 -1
  75. package/dist/src/hooks/registry.js +55 -15
  76. package/dist/src/hooks/registry.js.map +1 -1
  77. package/dist/src/hooks/types.d.ts +23 -0
  78. package/dist/src/hooks/types.d.ts.map +1 -1
  79. package/dist/src/hooks/types.js +17 -1
  80. package/dist/src/hooks/types.js.map +1 -1
  81. package/dist/src/index.d.ts +9 -5
  82. package/dist/src/index.d.ts.map +1 -1
  83. package/dist/src/index.js +4 -1
  84. package/dist/src/index.js.map +1 -1
  85. package/dist/src/interrupt.d.ts +220 -0
  86. package/dist/src/interrupt.d.ts.map +1 -0
  87. package/dist/src/interrupt.js +274 -0
  88. package/dist/src/interrupt.js.map +1 -0
  89. package/dist/src/mcp.d.ts +23 -2
  90. package/dist/src/mcp.d.ts.map +1 -1
  91. package/dist/src/mcp.js +77 -18
  92. package/dist/src/mcp.js.map +1 -1
  93. package/dist/src/models/__tests__/anthropic.test.js +55 -0
  94. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  95. package/dist/src/models/__tests__/bedrock.test.js +115 -0
  96. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  97. package/dist/src/models/__tests__/defaults.test.d.ts +2 -0
  98. package/dist/src/models/__tests__/defaults.test.d.ts.map +1 -0
  99. package/dist/src/models/__tests__/defaults.test.js +36 -0
  100. package/dist/src/models/__tests__/defaults.test.js.map +1 -0
  101. package/dist/src/models/__tests__/google.test.js +58 -0
  102. package/dist/src/models/__tests__/google.test.js.map +1 -1
  103. package/dist/src/models/anthropic.d.ts +8 -0
  104. package/dist/src/models/anthropic.d.ts.map +1 -1
  105. package/dist/src/models/anthropic.js +4 -2
  106. package/dist/src/models/anthropic.js.map +1 -1
  107. package/dist/src/models/bedrock.d.ts +15 -0
  108. package/dist/src/models/bedrock.d.ts.map +1 -1
  109. package/dist/src/models/bedrock.js +58 -4
  110. package/dist/src/models/bedrock.js.map +1 -1
  111. package/dist/src/models/defaults.d.ts +10 -0
  112. package/dist/src/models/defaults.d.ts.map +1 -1
  113. package/dist/src/models/defaults.js +129 -0
  114. package/dist/src/models/defaults.js.map +1 -1
  115. package/dist/src/models/google/model.d.ts.map +1 -1
  116. package/dist/src/models/google/model.js +4 -2
  117. package/dist/src/models/google/model.js.map +1 -1
  118. package/dist/src/models/google/types.d.ts +8 -0
  119. package/dist/src/models/google/types.d.ts.map +1 -1
  120. package/dist/src/models/model.d.ts +15 -0
  121. package/dist/src/models/model.d.ts.map +1 -1
  122. package/dist/src/models/model.js +18 -0
  123. package/dist/src/models/model.js.map +1 -1
  124. package/dist/src/models/openai/__tests__/chat.test.js +45 -0
  125. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
  126. package/dist/src/models/openai/model.d.ts.map +1 -1
  127. package/dist/src/models/openai/model.js +2 -2
  128. package/dist/src/models/openai/model.js.map +1 -1
  129. package/dist/src/multiagent/__tests__/graph.test.js +69 -0
  130. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  131. package/dist/src/multiagent/__tests__/nodes.test.js +13 -0
  132. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  133. package/dist/src/multiagent/__tests__/swarm.test.js +77 -0
  134. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  135. package/dist/src/multiagent/graph.d.ts +22 -2
  136. package/dist/src/multiagent/graph.d.ts.map +1 -1
  137. package/dist/src/multiagent/graph.js +42 -3
  138. package/dist/src/multiagent/graph.js.map +1 -1
  139. package/dist/src/multiagent/multiagent.d.ts +5 -3
  140. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  141. package/dist/src/multiagent/nodes.d.ts +18 -0
  142. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  143. package/dist/src/multiagent/nodes.js +14 -1
  144. package/dist/src/multiagent/nodes.js.map +1 -1
  145. package/dist/src/multiagent/swarm.d.ts +15 -1
  146. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  147. package/dist/src/multiagent/swarm.js +46 -3
  148. package/dist/src/multiagent/swarm.js.map +1 -1
  149. package/dist/src/registry/__tests__/tool-registry.test.js +11 -0
  150. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  151. package/dist/src/registry/tool-registry.d.ts +4 -0
  152. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  153. package/dist/src/registry/tool-registry.js +6 -0
  154. package/dist/src/registry/tool-registry.js.map +1 -1
  155. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +2 -0
  156. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +1 -0
  157. package/dist/src/retry/__tests__/backoff-strategy.test.js +116 -0
  158. package/dist/src/retry/__tests__/backoff-strategy.test.js.map +1 -0
  159. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +2 -0
  160. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +1 -0
  161. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +225 -0
  162. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +1 -0
  163. package/dist/src/retry/backoff-strategy.d.ts +108 -0
  164. package/dist/src/retry/backoff-strategy.d.ts.map +1 -0
  165. package/dist/src/retry/backoff-strategy.js +86 -0
  166. package/dist/src/retry/backoff-strategy.js.map +1 -0
  167. package/dist/src/retry/default-model-retry-strategy.d.ts +76 -0
  168. package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -0
  169. package/dist/src/retry/default-model-retry-strategy.js +104 -0
  170. package/dist/src/retry/default-model-retry-strategy.js.map +1 -0
  171. package/dist/src/retry/index.d.ts +8 -0
  172. package/dist/src/retry/index.d.ts.map +1 -0
  173. package/dist/src/retry/index.js +7 -0
  174. package/dist/src/retry/index.js.map +1 -0
  175. package/dist/src/retry/model-retry-strategy.d.ts +80 -0
  176. package/dist/src/retry/model-retry-strategy.d.ts.map +1 -0
  177. package/dist/src/retry/model-retry-strategy.js +85 -0
  178. package/dist/src/retry/model-retry-strategy.js.map +1 -0
  179. package/dist/src/retry/retry-strategy.d.ts +34 -0
  180. package/dist/src/retry/retry-strategy.d.ts.map +1 -0
  181. package/dist/src/retry/retry-strategy.js +25 -0
  182. package/dist/src/retry/retry-strategy.js.map +1 -0
  183. package/dist/src/session/__tests__/session-manager.test.js +39 -0
  184. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  185. package/dist/src/session/session-manager.d.ts +6 -0
  186. package/dist/src/session/session-manager.d.ts.map +1 -1
  187. package/dist/src/session/session-manager.js +8 -0
  188. package/dist/src/session/session-manager.js.map +1 -1
  189. package/dist/src/tools/__tests__/tool.test.js +24 -1
  190. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  191. package/dist/src/tools/function-tool.d.ts.map +1 -1
  192. package/dist/src/tools/function-tool.js +6 -1
  193. package/dist/src/tools/function-tool.js.map +1 -1
  194. package/dist/src/tools/tool.d.ts +10 -1
  195. package/dist/src/tools/tool.d.ts.map +1 -1
  196. package/dist/src/tools/tool.js +12 -0
  197. package/dist/src/tools/tool.js.map +1 -1
  198. package/dist/src/tsconfig.tsbuildinfo +1 -1
  199. package/dist/src/types/agent.d.ts +22 -3
  200. package/dist/src/types/agent.d.ts.map +1 -1
  201. package/dist/src/types/agent.js +8 -0
  202. package/dist/src/types/agent.js.map +1 -1
  203. package/dist/src/types/interrupt.d.ts +103 -0
  204. package/dist/src/types/interrupt.d.ts.map +1 -0
  205. package/dist/src/types/interrupt.js +63 -0
  206. package/dist/src/types/interrupt.js.map +1 -0
  207. package/dist/src/types/messages.d.ts +2 -1
  208. package/dist/src/types/messages.d.ts.map +1 -1
  209. package/dist/src/types/messages.js.map +1 -1
  210. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +2 -0
  211. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +1 -0
  212. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +292 -0
  213. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -0
  214. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +2 -0
  215. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +1 -0
  216. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +148 -0
  217. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -0
  218. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +2 -0
  219. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +1 -0
  220. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +78 -0
  221. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +1 -0
  222. package/dist/src/vended-plugins/context-offloader/index.d.ts +23 -0
  223. package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -0
  224. package/dist/src/vended-plugins/context-offloader/index.js +21 -0
  225. package/dist/src/vended-plugins/context-offloader/index.js.map +1 -0
  226. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +48 -0
  227. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -0
  228. package/dist/src/vended-plugins/context-offloader/plugin.js +244 -0
  229. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -0
  230. package/dist/src/vended-plugins/context-offloader/storage.d.ts +114 -0
  231. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -0
  232. package/dist/src/vended-plugins/context-offloader/storage.js +204 -0
  233. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -0
  234. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +12 -0
  235. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
  236. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +3 -0
  237. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  238. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  239. package/dist/src/vended-tools/bash/bash.js +0 -3
  240. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  241. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +3 -0
  242. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
  243. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +3 -0
  244. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  245. package/package.json +9 -5
@@ -63,6 +63,7 @@ describe('AfterInvocationEvent', () => {
63
63
  type: 'afterInvocationEvent',
64
64
  agent: agent,
65
65
  invocationState: {},
66
+ resume: undefined,
66
67
  });
67
68
  // @ts-expect-error verifying that property is readonly
68
69
  event.agent = new Agent();
@@ -72,6 +73,13 @@ describe('AfterInvocationEvent', () => {
72
73
  const event = new AfterInvocationEvent({ agent, invocationState: {} });
73
74
  expect(event._shouldReverseCallbacks()).toBe(true);
74
75
  });
76
+ it('allows resume to be set to new input', () => {
77
+ const agent = new Agent();
78
+ const event = new AfterInvocationEvent({ agent, invocationState: {} });
79
+ expect(event.resume).toBeUndefined();
80
+ event.resume = 'follow-up prompt';
81
+ expect(event.resume).toBe('follow-up prompt');
82
+ });
75
83
  });
76
84
  describe('MessageAddedEvent', () => {
77
85
  it('creates instance with correct properties', () => {
@@ -118,12 +126,11 @@ describe('BeforeToolCallEvent', () => {
118
126
  tool: tool,
119
127
  cancel: false,
120
128
  invocationState: {},
129
+ selectedTool: undefined,
121
130
  });
122
131
  // @ts-expect-error verifying that property is readonly
123
132
  event.agent = new Agent();
124
133
  // @ts-expect-error verifying that property is readonly
125
- event.toolUse = toolUse;
126
- // @ts-expect-error verifying that property is readonly
127
134
  event.tool = tool;
128
135
  });
129
136
  it('creates instance with undefined tool when tool is not found', () => {
@@ -141,6 +148,7 @@ describe('BeforeToolCallEvent', () => {
141
148
  tool: undefined,
142
149
  cancel: false,
143
150
  invocationState: {},
151
+ selectedTool: undefined,
144
152
  });
145
153
  });
146
154
  it('returns false for _shouldReverseCallbacks', () => {
@@ -164,6 +172,35 @@ describe('BeforeToolCallEvent', () => {
164
172
  event.cancel = 'tool not allowed';
165
173
  expect(event.cancel).toBe('tool not allowed');
166
174
  });
175
+ it('allows selectedTool to be set to a replacement tool', () => {
176
+ const agent = new Agent();
177
+ const toolUse = { name: 'test', toolUseId: 'id', input: {} };
178
+ const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
179
+ expect(event.selectedTool).toBeUndefined();
180
+ const replacement = new FunctionTool({
181
+ name: 'replacement',
182
+ description: 'Replacement',
183
+ inputSchema: {},
184
+ callback: () => 'ok',
185
+ });
186
+ event.selectedTool = replacement;
187
+ expect(event.selectedTool).toBe(replacement);
188
+ });
189
+ it('allows mutating toolUse fields in-place', () => {
190
+ const agent = new Agent();
191
+ const toolUse = { name: 'orig', toolUseId: 'id', input: { a: 1 } };
192
+ const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
193
+ event.toolUse.input = { a: 2, b: 3 };
194
+ event.toolUse.name = 'renamed';
195
+ expect(event.toolUse).toEqual({ name: 'renamed', toolUseId: 'id', input: { a: 2, b: 3 } });
196
+ });
197
+ it('allows reassigning toolUse to a new object', () => {
198
+ const agent = new Agent();
199
+ const toolUse = { name: 'orig', toolUseId: 'id', input: {} };
200
+ const event = new BeforeToolCallEvent({ agent, toolUse, tool: undefined, invocationState: {} });
201
+ event.toolUse = { name: 'new', toolUseId: 'new-id', input: { x: 1 } };
202
+ expect(event.toolUse).toEqual({ name: 'new', toolUseId: 'new-id', input: { x: 1 } });
203
+ });
167
204
  });
168
205
  describe('AfterToolCallEvent', () => {
169
206
  it('creates instance with correct properties on success', () => {
@@ -341,11 +378,18 @@ describe('AfterModelCallEvent', () => {
341
378
  const message = new Message({ role: 'assistant', content: [new TextBlock('Response')] });
342
379
  const stopReason = 'endTurn';
343
380
  const response = { message, stopReason };
344
- const event = new AfterModelCallEvent({ agent, model: agent.model, stopData: response, invocationState: {} });
381
+ const event = new AfterModelCallEvent({
382
+ agent,
383
+ model: agent.model,
384
+ attemptCount: 1,
385
+ stopData: response,
386
+ invocationState: {},
387
+ });
345
388
  expect(event).toEqual({
346
389
  type: 'afterModelCallEvent',
347
390
  agent: agent,
348
391
  model: agent.model,
392
+ attemptCount: 1,
349
393
  stopData: response,
350
394
  error: undefined,
351
395
  invocationState: {},
@@ -360,11 +404,19 @@ describe('AfterModelCallEvent', () => {
360
404
  const message = new Message({ role: 'assistant', content: [] });
361
405
  const error = new Error('Model failed');
362
406
  const response = { message, stopReason: 'error' };
363
- const event = new AfterModelCallEvent({ agent, model: agent.model, stopData: response, error, invocationState: {} });
407
+ const event = new AfterModelCallEvent({
408
+ agent,
409
+ model: agent.model,
410
+ attemptCount: 1,
411
+ stopData: response,
412
+ error,
413
+ invocationState: {},
414
+ });
364
415
  expect(event).toEqual({
365
416
  type: 'afterModelCallEvent',
366
417
  agent: agent,
367
418
  model: agent.model,
419
+ attemptCount: 1,
368
420
  stopData: response,
369
421
  error: error,
370
422
  invocationState: {},
@@ -374,13 +426,19 @@ describe('AfterModelCallEvent', () => {
374
426
  const agent = new Agent();
375
427
  const message = new Message({ role: 'assistant', content: [] });
376
428
  const response = { message, stopReason: 'endTurn' };
377
- const event = new AfterModelCallEvent({ agent, model: agent.model, stopData: response, invocationState: {} });
429
+ const event = new AfterModelCallEvent({
430
+ agent,
431
+ model: agent.model,
432
+ attemptCount: 1,
433
+ stopData: response,
434
+ invocationState: {},
435
+ });
378
436
  expect(event._shouldReverseCallbacks()).toBe(true);
379
437
  });
380
438
  it('allows retry to be set when error is present', () => {
381
439
  const agent = new Agent();
382
440
  const error = new Error('Model failed');
383
- const event = new AfterModelCallEvent({ agent, model: agent.model, error, invocationState: {} });
441
+ const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
384
442
  // Initially undefined
385
443
  expect(event.retry).toBeUndefined();
386
444
  // Can be set to true
@@ -393,7 +451,7 @@ describe('AfterModelCallEvent', () => {
393
451
  it('retry is optional and defaults to undefined', () => {
394
452
  const agent = new Agent();
395
453
  const error = new Error('Model failed');
396
- const event = new AfterModelCallEvent({ agent, model: agent.model, error, invocationState: {} });
454
+ const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
397
455
  expect(event.retry).toBeUndefined();
398
456
  });
399
457
  });
@@ -581,6 +639,7 @@ describe('AfterToolsEvent', () => {
581
639
  agent: agent,
582
640
  message: message,
583
641
  invocationState: {},
642
+ endTurn: false,
584
643
  });
585
644
  // @ts-expect-error verifying that property is readonly
586
645
  event.agent = new Agent();
@@ -593,6 +652,16 @@ describe('AfterToolsEvent', () => {
593
652
  const event = new AfterToolsEvent({ agent, message, invocationState: {} });
594
653
  expect(event._shouldReverseCallbacks()).toBe(true);
595
654
  });
655
+ it('defaults endTurn to false and accepts boolean or string', () => {
656
+ const agent = new Agent();
657
+ const message = new Message({ role: 'user', content: [] });
658
+ const event = new AfterToolsEvent({ agent, message, invocationState: {} });
659
+ expect(event.endTurn).toBe(false);
660
+ event.endTurn = true;
661
+ expect(event.endTurn).toBe(true);
662
+ event.endTurn = 'enough information gathered';
663
+ expect(event.endTurn).toBe('enough information gathered');
664
+ });
596
665
  });
597
666
  // ===================== toJSON serialization tests =====================
598
667
  describe('toJSON serialization', () => {
@@ -785,14 +854,21 @@ describe('toJSON serialization', () => {
785
854
  });
786
855
  });
787
856
  describe('AfterModelCallEvent', () => {
788
- it('includes stopData and excludes agent and model on success', () => {
857
+ it('includes stopData and attemptCount and excludes agent and model on success', () => {
789
858
  const agent = new Agent();
790
859
  const message = new Message({ role: 'assistant', content: [new TextBlock('Hi')] });
791
860
  const stopData = { message, stopReason: 'endTurn' };
792
- const event = new AfterModelCallEvent({ agent, model: agent.model, stopData, invocationState: {} });
861
+ const event = new AfterModelCallEvent({
862
+ agent,
863
+ model: agent.model,
864
+ attemptCount: 2,
865
+ stopData,
866
+ invocationState: {},
867
+ });
793
868
  const json = JSON.parse(JSON.stringify(event));
794
869
  expect(json).toStrictEqual({
795
870
  type: 'afterModelCallEvent',
871
+ attemptCount: 2,
796
872
  stopData: {
797
873
  message: { role: 'assistant', content: [{ text: 'Hi' }] },
798
874
  stopReason: 'endTurn',
@@ -802,11 +878,12 @@ describe('toJSON serialization', () => {
802
878
  it('converts error to message string and excludes retry', () => {
803
879
  const agent = new Agent();
804
880
  const error = new Error('Model failed');
805
- const event = new AfterModelCallEvent({ agent, model: agent.model, error, invocationState: {} });
881
+ const event = new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, error, invocationState: {} });
806
882
  event.retry = true;
807
883
  const json = JSON.parse(JSON.stringify(event));
808
884
  expect(json).toStrictEqual({
809
885
  type: 'afterModelCallEvent',
886
+ attemptCount: 1,
810
887
  error: { message: 'Model failed' },
811
888
  });
812
889
  });
@@ -879,7 +956,17 @@ describe('toJSON serialization completeness', () => {
879
956
  * If you add a new field to an event and it should be excluded from wire serialization,
880
957
  * add it here. Otherwise, add it to toJSON() so it gets serialized.
881
958
  */
882
- const EXCLUDED_FIELDS = new Set(['agent', 'model', 'tool', 'cancel', 'retry', 'invocationState']);
959
+ const EXCLUDED_FIELDS = new Set([
960
+ 'agent',
961
+ 'model',
962
+ 'tool',
963
+ 'cancel',
964
+ 'retry',
965
+ 'invocationState',
966
+ 'selectedTool',
967
+ 'resume',
968
+ 'endTurn',
969
+ ]);
883
970
  /**
884
971
  * Fields where toJSON() transforms the value (e.g., Error to message object).
885
972
  * These appear in both instance and JSON but with different shapes.
@@ -921,7 +1008,7 @@ describe('toJSON serialization completeness', () => {
921
1008
  },
922
1009
  {
923
1010
  name: 'AfterModelCallEvent',
924
- event: Object.assign(new AfterModelCallEvent({ agent, model: agent.model, stopData, error, invocationState: {} }), { retry: true }),
1011
+ event: Object.assign(new AfterModelCallEvent({ agent, model: agent.model, attemptCount: 1, stopData, error, invocationState: {} }), { retry: true }),
925
1012
  },
926
1013
  { name: 'MessageAddedEvent', event: new MessageAddedEvent({ agent, message, invocationState: {} }) },
927
1014
  {
@@ -1 +1 @@
1
- {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/events.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/events.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { beforeEach, describe, expect, it, vi } from 'vitest';
2
2
  import { HookRegistryImplementation } from '../registry.js';
3
- import { AfterInvocationEvent, BeforeInvocationEvent } from '../events.js';
3
+ import { AfterInvocationEvent, BeforeInvocationEvent, BeforeToolCallEvent } from '../events.js';
4
4
  import { Agent } from '../../agent/agent.js';
5
+ import { InterruptError, InterruptState } from '../../interrupt.js';
5
6
  describe('HookRegistryImplementation', () => {
6
7
  let registry;
7
8
  let mockAgent;
9
+ const getInterruptState = (agent) => agent._interruptState;
8
10
  beforeEach(() => {
9
11
  registry = new HookRegistryImplementation();
10
12
  mockAgent = new Agent();
@@ -81,7 +83,7 @@ describe('HookRegistryImplementation', () => {
81
83
  registry.addCallback(BeforeInvocationEvent, callback);
82
84
  await expect(registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }))).rejects.toThrow('Hook failed');
83
85
  });
84
- it('stops execution on first error', async () => {
86
+ it('stops execution on first non-interrupt error', async () => {
85
87
  const callback1 = vi.fn(() => {
86
88
  throw new Error('First callback failed');
87
89
  });
@@ -111,6 +113,58 @@ describe('HookRegistryImplementation', () => {
111
113
  expect(result).toBe(event);
112
114
  });
113
115
  });
116
+ describe('ordering', () => {
117
+ it('lower order runs first', async () => {
118
+ const callOrder = [];
119
+ registry.addCallback(BeforeInvocationEvent, () => {
120
+ callOrder.push(0);
121
+ });
122
+ registry.addCallback(BeforeInvocationEvent, () => {
123
+ callOrder.push(100);
124
+ }, { order: 100 });
125
+ registry.addCallback(BeforeInvocationEvent, () => {
126
+ callOrder.push(-100);
127
+ }, { order: -100 });
128
+ await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
129
+ expect(callOrder).toEqual([-100, 0, 100]);
130
+ });
131
+ it('same order preserves registration order', async () => {
132
+ const callOrder = [];
133
+ registry.addCallback(BeforeInvocationEvent, () => {
134
+ callOrder.push('first');
135
+ }, { order: 10 });
136
+ registry.addCallback(BeforeInvocationEvent, () => {
137
+ callOrder.push('second');
138
+ }, { order: 10 });
139
+ registry.addCallback(BeforeInvocationEvent, () => {
140
+ callOrder.push('third');
141
+ }, { order: 10 });
142
+ await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
143
+ expect(callOrder).toEqual(['first', 'second', 'third']);
144
+ });
145
+ it('negative order runs before default', async () => {
146
+ const callOrder = [];
147
+ registry.addCallback(BeforeInvocationEvent, () => {
148
+ callOrder.push('default');
149
+ });
150
+ registry.addCallback(BeforeInvocationEvent, () => {
151
+ callOrder.push('early');
152
+ }, { order: -100 });
153
+ await registry.invokeCallbacks(new BeforeInvocationEvent({ agent: mockAgent, invocationState: {} }));
154
+ expect(callOrder).toEqual(['early', 'default']);
155
+ });
156
+ it('After events: lower order still runs first across groups', async () => {
157
+ const callOrder = [];
158
+ registry.addCallback(AfterInvocationEvent, () => {
159
+ callOrder.push('early');
160
+ }, { order: -100 });
161
+ registry.addCallback(AfterInvocationEvent, () => {
162
+ callOrder.push('late');
163
+ }, { order: 100 });
164
+ await registry.invokeCallbacks(new AfterInvocationEvent({ agent: mockAgent, invocationState: {} }));
165
+ expect(callOrder).toEqual(['early', 'late']);
166
+ });
167
+ });
114
168
  describe('addCallback cleanup function', () => {
115
169
  it('returns cleanup function that removes the callback', async () => {
116
170
  const callback = vi.fn();
@@ -157,5 +211,115 @@ describe('HookRegistryImplementation', () => {
157
211
  expect(callback2).not.toHaveBeenCalled();
158
212
  });
159
213
  });
214
+ describe('InterruptError collection', () => {
215
+ const createEvent = () => new BeforeToolCallEvent({
216
+ agent: mockAgent,
217
+ toolUse: { name: 'test', toolUseId: 'tool-1', input: {} },
218
+ tool: undefined,
219
+ invocationState: {},
220
+ });
221
+ it('collects InterruptErrors from multiple callbacks and invokes all of them', async () => {
222
+ const event = createEvent();
223
+ const callback1 = vi.fn(() => {
224
+ event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
225
+ });
226
+ const callback2 = vi.fn(() => {
227
+ event.interrupt({ name: 'interrupt_b', reason: 'Reason B' });
228
+ });
229
+ registry.addCallback(BeforeToolCallEvent, callback1);
230
+ registry.addCallback(BeforeToolCallEvent, callback2);
231
+ await expect(registry.invokeCallbacks(event)).rejects.toThrow(InterruptError);
232
+ expect(callback1).toHaveBeenCalledOnce();
233
+ expect(callback2).toHaveBeenCalledOnce();
234
+ const state = getInterruptState(mockAgent);
235
+ expect(Object.keys(state.interrupts).length).toBe(2);
236
+ expect(state
237
+ .getInterruptsList()
238
+ .map((i) => i.name)
239
+ .sort()).toEqual(['interrupt_a', 'interrupt_b']);
240
+ });
241
+ it('throws InterruptError with all collected interrupts after all callbacks run', async () => {
242
+ const event = createEvent();
243
+ registry.addCallback(BeforeToolCallEvent, () => {
244
+ event.interrupt({ name: 'first', reason: 'First' });
245
+ });
246
+ registry.addCallback(BeforeToolCallEvent, () => {
247
+ event.interrupt({ name: 'second', reason: 'Second' });
248
+ });
249
+ try {
250
+ await registry.invokeCallbacks(event);
251
+ expect.unreachable('should have thrown');
252
+ }
253
+ catch (error) {
254
+ expect(error).toBeInstanceOf(InterruptError);
255
+ const ie = error;
256
+ expect(ie.interrupts).toHaveLength(2);
257
+ expect(ie.interrupts.map((i) => i.name)).toEqual(['first', 'second']);
258
+ expect(ie.message).toBe('2 interrupts raised: first, second');
259
+ }
260
+ });
261
+ it('stops on non-interrupt error even when interrupts were collected', async () => {
262
+ const event = createEvent();
263
+ const callback3 = vi.fn();
264
+ registry.addCallback(BeforeToolCallEvent, () => {
265
+ event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
266
+ });
267
+ registry.addCallback(BeforeToolCallEvent, () => {
268
+ throw new Error('Non-interrupt failure');
269
+ });
270
+ registry.addCallback(BeforeToolCallEvent, callback3);
271
+ await expect(registry.invokeCallbacks(event)).rejects.toThrow('Non-interrupt failure');
272
+ expect(callback3).not.toHaveBeenCalled();
273
+ });
274
+ it('runs all callbacks when only some raise interrupts', async () => {
275
+ const event = createEvent();
276
+ const callOrder = [];
277
+ registry.addCallback(BeforeToolCallEvent, () => {
278
+ callOrder.push('first');
279
+ event.interrupt({ name: 'interrupt_a', reason: 'Reason A' });
280
+ });
281
+ registry.addCallback(BeforeToolCallEvent, () => {
282
+ callOrder.push('second-no-interrupt');
283
+ });
284
+ registry.addCallback(BeforeToolCallEvent, () => {
285
+ callOrder.push('third');
286
+ event.interrupt({ name: 'interrupt_b', reason: 'Reason B' });
287
+ });
288
+ await expect(registry.invokeCallbacks(event)).rejects.toThrow(InterruptError);
289
+ expect(callOrder).toEqual(['first', 'second-no-interrupt', 'third']);
290
+ const state = getInterruptState(mockAgent);
291
+ expect(Object.keys(state.interrupts).length).toBe(2);
292
+ expect(state
293
+ .getInterruptsList()
294
+ .map((i) => i.name)
295
+ .sort()).toEqual(['interrupt_a', 'interrupt_b']);
296
+ });
297
+ it('throws when two callbacks use the same interrupt name', async () => {
298
+ const event = createEvent();
299
+ registry.addCallback(BeforeToolCallEvent, () => {
300
+ event.interrupt({ name: 'confirm', reason: 'First' });
301
+ });
302
+ registry.addCallback(BeforeToolCallEvent, () => {
303
+ event.interrupt({ name: 'confirm', reason: 'Second' });
304
+ });
305
+ await expect(registry.invokeCallbacks(event)).rejects.toThrow('interrupt_names=<confirm> | duplicate interrupt names');
306
+ });
307
+ it('reports all duplicate interrupt names in error', async () => {
308
+ const event = createEvent();
309
+ registry.addCallback(BeforeToolCallEvent, () => {
310
+ event.interrupt({ name: 'alpha' });
311
+ });
312
+ registry.addCallback(BeforeToolCallEvent, () => {
313
+ event.interrupt({ name: 'alpha' });
314
+ });
315
+ registry.addCallback(BeforeToolCallEvent, () => {
316
+ event.interrupt({ name: 'beta' });
317
+ });
318
+ registry.addCallback(BeforeToolCallEvent, () => {
319
+ event.interrupt({ name: 'beta' });
320
+ });
321
+ await expect(registry.invokeCallbacks(event)).rejects.toThrow('interrupt_names=<alpha, beta> | duplicate interrupt names');
322
+ });
323
+ });
160
324
  });
161
325
  //# sourceMappingURL=registry.test.js.map