@strands-agents/sdk 1.0.0 → 1.2.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 (284) hide show
  1. package/README.md +6 -0
  2. package/dist/src/__fixtures__/agent-helpers.d.ts +16 -1
  3. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  4. package/dist/src/__fixtures__/agent-helpers.js +42 -0
  5. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  6. package/dist/src/__fixtures__/tool-helpers.d.ts +2 -1
  7. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/tool-helpers.js +20 -3
  9. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  10. package/dist/src/__tests__/interrupt.test.d.ts +2 -0
  11. package/dist/src/__tests__/interrupt.test.d.ts.map +1 -0
  12. package/dist/src/__tests__/interrupt.test.js +264 -0
  13. package/dist/src/__tests__/interrupt.test.js.map +1 -0
  14. package/dist/src/__tests__/mcp.test.js +447 -7
  15. package/dist/src/__tests__/mcp.test.js.map +1 -1
  16. package/dist/src/agent/__tests__/agent.hook.test.js +551 -1
  17. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  18. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +2 -0
  19. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +1 -0
  20. package/dist/src/agent/__tests__/agent.interrupt.test.js +779 -0
  21. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -0
  22. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +2 -0
  23. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +1 -0
  24. package/dist/src/agent/__tests__/agent.model-retry.test.js +161 -0
  25. package/dist/src/agent/__tests__/agent.model-retry.test.js.map +1 -0
  26. package/dist/src/agent/__tests__/agent.test.js +174 -0
  27. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  28. package/dist/src/agent/__tests__/snapshot.test.js +148 -4
  29. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  30. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  31. package/dist/src/agent/agent-as-tool.js +2 -3
  32. package/dist/src/agent/agent-as-tool.js.map +1 -1
  33. package/dist/src/agent/agent.d.ts +94 -4
  34. package/dist/src/agent/agent.d.ts.map +1 -1
  35. package/dist/src/agent/agent.js +625 -223
  36. package/dist/src/agent/agent.js.map +1 -1
  37. package/dist/src/agent/snapshot.d.ts +11 -19
  38. package/dist/src/agent/snapshot.d.ts.map +1 -1
  39. package/dist/src/agent/snapshot.js +23 -19
  40. package/dist/src/agent/snapshot.js.map +1 -1
  41. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +230 -9
  42. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -1
  43. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +19 -6
  44. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  45. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +422 -41
  46. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  47. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +75 -1
  48. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  49. package/dist/src/conversation-manager/conversation-manager.d.ts +67 -22
  50. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  51. package/dist/src/conversation-manager/conversation-manager.js +65 -13
  52. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  53. package/dist/src/conversation-manager/index.d.ts +1 -1
  54. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  55. package/dist/src/conversation-manager/index.js +1 -1
  56. package/dist/src/conversation-manager/index.js.map +1 -1
  57. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +43 -10
  58. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  59. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +202 -45
  60. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  61. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +23 -1
  62. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  63. package/dist/src/conversation-manager/summarizing-conversation-manager.js +39 -17
  64. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  65. package/dist/src/hooks/__tests__/events.test.js +99 -12
  66. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  67. package/dist/src/hooks/__tests__/registry.test.js +166 -2
  68. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  69. package/dist/src/hooks/events.d.ts +125 -32
  70. package/dist/src/hooks/events.d.ts.map +1 -1
  71. package/dist/src/hooks/events.js +111 -8
  72. package/dist/src/hooks/events.js.map +1 -1
  73. package/dist/src/hooks/index.d.ts +4 -3
  74. package/dist/src/hooks/index.d.ts.map +1 -1
  75. package/dist/src/hooks/index.js +2 -1
  76. package/dist/src/hooks/index.js.map +1 -1
  77. package/dist/src/hooks/registry.d.ts +12 -12
  78. package/dist/src/hooks/registry.d.ts.map +1 -1
  79. package/dist/src/hooks/registry.js +55 -15
  80. package/dist/src/hooks/registry.js.map +1 -1
  81. package/dist/src/hooks/types.d.ts +23 -0
  82. package/dist/src/hooks/types.d.ts.map +1 -1
  83. package/dist/src/hooks/types.js +17 -1
  84. package/dist/src/hooks/types.js.map +1 -1
  85. package/dist/src/index.d.ts +12 -6
  86. package/dist/src/index.d.ts.map +1 -1
  87. package/dist/src/index.js +7 -2
  88. package/dist/src/index.js.map +1 -1
  89. package/dist/src/interrupt.d.ts +247 -0
  90. package/dist/src/interrupt.d.ts.map +1 -0
  91. package/dist/src/interrupt.js +316 -0
  92. package/dist/src/interrupt.js.map +1 -0
  93. package/dist/src/mcp.d.ts +61 -4
  94. package/dist/src/mcp.d.ts.map +1 -1
  95. package/dist/src/mcp.js +161 -25
  96. package/dist/src/mcp.js.map +1 -1
  97. package/dist/src/models/__tests__/anthropic.test.js +78 -8
  98. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  99. package/dist/src/models/__tests__/bedrock.test.js +156 -18
  100. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  101. package/dist/src/models/__tests__/defaults.test.d.ts +2 -0
  102. package/dist/src/models/__tests__/defaults.test.d.ts.map +1 -0
  103. package/dist/src/models/__tests__/defaults.test.js +36 -0
  104. package/dist/src/models/__tests__/defaults.test.js.map +1 -0
  105. package/dist/src/models/__tests__/google.test.js +72 -6
  106. package/dist/src/models/__tests__/google.test.js.map +1 -1
  107. package/dist/src/models/anthropic.d.ts +10 -0
  108. package/dist/src/models/anthropic.d.ts.map +1 -1
  109. package/dist/src/models/anthropic.js +14 -4
  110. package/dist/src/models/anthropic.js.map +1 -1
  111. package/dist/src/models/bedrock.d.ts +17 -3
  112. package/dist/src/models/bedrock.d.ts.map +1 -1
  113. package/dist/src/models/bedrock.js +80 -13
  114. package/dist/src/models/bedrock.js.map +1 -1
  115. package/dist/src/models/defaults.d.ts +10 -0
  116. package/dist/src/models/defaults.d.ts.map +1 -1
  117. package/dist/src/models/defaults.js +129 -0
  118. package/dist/src/models/defaults.js.map +1 -1
  119. package/dist/src/models/google/model.d.ts.map +1 -1
  120. package/dist/src/models/google/model.js +4 -2
  121. package/dist/src/models/google/model.js.map +1 -1
  122. package/dist/src/models/google/types.d.ts +10 -0
  123. package/dist/src/models/google/types.d.ts.map +1 -1
  124. package/dist/src/models/model.d.ts +15 -0
  125. package/dist/src/models/model.d.ts.map +1 -1
  126. package/dist/src/models/model.js +18 -0
  127. package/dist/src/models/model.js.map +1 -1
  128. package/dist/src/models/openai/__tests__/chat.test.js +55 -2
  129. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
  130. package/dist/src/models/openai/__tests__/responses.test.js +19 -0
  131. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
  132. package/dist/src/models/openai/errors.d.ts.map +1 -1
  133. package/dist/src/models/openai/errors.js +7 -4
  134. package/dist/src/models/openai/errors.js.map +1 -1
  135. package/dist/src/models/openai/model.d.ts.map +1 -1
  136. package/dist/src/models/openai/model.js +2 -2
  137. package/dist/src/models/openai/model.js.map +1 -1
  138. package/dist/src/multiagent/__tests__/graph.test.js +69 -0
  139. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  140. package/dist/src/multiagent/__tests__/graph.tracer.test.js +14 -0
  141. package/dist/src/multiagent/__tests__/graph.tracer.test.js.map +1 -1
  142. package/dist/src/multiagent/__tests__/interrupts.test.d.ts +2 -0
  143. package/dist/src/multiagent/__tests__/interrupts.test.d.ts.map +1 -0
  144. package/dist/src/multiagent/__tests__/interrupts.test.js +390 -0
  145. package/dist/src/multiagent/__tests__/interrupts.test.js.map +1 -0
  146. package/dist/src/multiagent/__tests__/nodes.test.js +13 -0
  147. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  148. package/dist/src/multiagent/__tests__/state.test.js +139 -1
  149. package/dist/src/multiagent/__tests__/state.test.js.map +1 -1
  150. package/dist/src/multiagent/__tests__/swarm.test.js +77 -0
  151. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  152. package/dist/src/multiagent/events.d.ts +15 -1
  153. package/dist/src/multiagent/events.d.ts.map +1 -1
  154. package/dist/src/multiagent/events.js +18 -0
  155. package/dist/src/multiagent/events.js.map +1 -1
  156. package/dist/src/multiagent/graph.d.ts +59 -3
  157. package/dist/src/multiagent/graph.d.ts.map +1 -1
  158. package/dist/src/multiagent/graph.js +201 -34
  159. package/dist/src/multiagent/graph.js.map +1 -1
  160. package/dist/src/multiagent/multiagent.d.ts +77 -3
  161. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  162. package/dist/src/multiagent/multiagent.js +115 -1
  163. package/dist/src/multiagent/multiagent.js.map +1 -1
  164. package/dist/src/multiagent/nodes.d.ts +18 -0
  165. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  166. package/dist/src/multiagent/nodes.js +69 -22
  167. package/dist/src/multiagent/nodes.js.map +1 -1
  168. package/dist/src/multiagent/state.d.ts +39 -3
  169. package/dist/src/multiagent/state.d.ts.map +1 -1
  170. package/dist/src/multiagent/state.js +80 -1
  171. package/dist/src/multiagent/state.js.map +1 -1
  172. package/dist/src/multiagent/swarm.d.ts +30 -1
  173. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  174. package/dist/src/multiagent/swarm.js +166 -33
  175. package/dist/src/multiagent/swarm.js.map +1 -1
  176. package/dist/src/registry/__tests__/tool-registry.test.js +37 -0
  177. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  178. package/dist/src/registry/tool-registry.d.ts +13 -7
  179. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  180. package/dist/src/registry/tool-registry.js +35 -10
  181. package/dist/src/registry/tool-registry.js.map +1 -1
  182. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +2 -0
  183. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +1 -0
  184. package/dist/src/retry/__tests__/backoff-strategy.test.js +116 -0
  185. package/dist/src/retry/__tests__/backoff-strategy.test.js.map +1 -0
  186. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +2 -0
  187. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +1 -0
  188. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +225 -0
  189. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +1 -0
  190. package/dist/src/retry/backoff-strategy.d.ts +108 -0
  191. package/dist/src/retry/backoff-strategy.d.ts.map +1 -0
  192. package/dist/src/retry/backoff-strategy.js +86 -0
  193. package/dist/src/retry/backoff-strategy.js.map +1 -0
  194. package/dist/src/retry/default-model-retry-strategy.d.ts +76 -0
  195. package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -0
  196. package/dist/src/retry/default-model-retry-strategy.js +104 -0
  197. package/dist/src/retry/default-model-retry-strategy.js.map +1 -0
  198. package/dist/src/retry/index.d.ts +8 -0
  199. package/dist/src/retry/index.d.ts.map +1 -0
  200. package/dist/src/retry/index.js +7 -0
  201. package/dist/src/retry/index.js.map +1 -0
  202. package/dist/src/retry/model-retry-strategy.d.ts +80 -0
  203. package/dist/src/retry/model-retry-strategy.d.ts.map +1 -0
  204. package/dist/src/retry/model-retry-strategy.js +85 -0
  205. package/dist/src/retry/model-retry-strategy.js.map +1 -0
  206. package/dist/src/retry/retry-strategy.d.ts +34 -0
  207. package/dist/src/retry/retry-strategy.d.ts.map +1 -0
  208. package/dist/src/retry/retry-strategy.js +25 -0
  209. package/dist/src/retry/retry-strategy.js.map +1 -0
  210. package/dist/src/session/__tests__/session-manager.test.js +84 -3
  211. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  212. package/dist/src/session/session-manager.d.ts +11 -2
  213. package/dist/src/session/session-manager.d.ts.map +1 -1
  214. package/dist/src/session/session-manager.js +17 -6
  215. package/dist/src/session/session-manager.js.map +1 -1
  216. package/dist/src/telemetry/__tests__/meter.test.js +5 -27
  217. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  218. package/dist/src/telemetry/meter.d.ts +12 -4
  219. package/dist/src/telemetry/meter.d.ts.map +1 -1
  220. package/dist/src/telemetry/meter.js +13 -8
  221. package/dist/src/telemetry/meter.js.map +1 -1
  222. package/dist/src/tools/__tests__/tool.test.js +24 -1
  223. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  224. package/dist/src/tools/function-tool.d.ts.map +1 -1
  225. package/dist/src/tools/function-tool.js +6 -1
  226. package/dist/src/tools/function-tool.js.map +1 -1
  227. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  228. package/dist/src/tools/mcp-tool.js +3 -2
  229. package/dist/src/tools/mcp-tool.js.map +1 -1
  230. package/dist/src/tools/tool.d.ts +10 -1
  231. package/dist/src/tools/tool.d.ts.map +1 -1
  232. package/dist/src/tools/tool.js +12 -0
  233. package/dist/src/tools/tool.js.map +1 -1
  234. package/dist/src/tsconfig.tsbuildinfo +1 -1
  235. package/dist/src/types/__tests__/agent.test.js +97 -0
  236. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  237. package/dist/src/types/agent.d.ts +48 -8
  238. package/dist/src/types/agent.d.ts.map +1 -1
  239. package/dist/src/types/agent.js +28 -3
  240. package/dist/src/types/agent.js.map +1 -1
  241. package/dist/src/types/interrupt.d.ts +103 -0
  242. package/dist/src/types/interrupt.d.ts.map +1 -0
  243. package/dist/src/types/interrupt.js +63 -0
  244. package/dist/src/types/interrupt.js.map +1 -0
  245. package/dist/src/types/messages.d.ts +2 -1
  246. package/dist/src/types/messages.d.ts.map +1 -1
  247. package/dist/src/types/messages.js.map +1 -1
  248. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +2 -0
  249. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +1 -0
  250. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +292 -0
  251. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -0
  252. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +2 -0
  253. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +1 -0
  254. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +148 -0
  255. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -0
  256. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +2 -0
  257. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +1 -0
  258. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +78 -0
  259. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +1 -0
  260. package/dist/src/vended-plugins/context-offloader/index.d.ts +23 -0
  261. package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -0
  262. package/dist/src/vended-plugins/context-offloader/index.js +21 -0
  263. package/dist/src/vended-plugins/context-offloader/index.js.map +1 -0
  264. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +48 -0
  265. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -0
  266. package/dist/src/vended-plugins/context-offloader/plugin.js +244 -0
  267. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -0
  268. package/dist/src/vended-plugins/context-offloader/storage.d.ts +114 -0
  269. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -0
  270. package/dist/src/vended-plugins/context-offloader/storage.js +204 -0
  271. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -0
  272. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +12 -0
  273. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
  274. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +3 -0
  275. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  276. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  277. package/dist/src/vended-tools/bash/bash.js +0 -3
  278. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  279. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +3 -0
  280. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
  281. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +3 -0
  282. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  283. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  284. package/package.json +9 -5
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.test.js","sourceRoot":"","sources":["../../../../src/hooks/__tests__/registry.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
- import type { LocalAgent, AgentResult, InvocationState } from '../types/agent.js';
1
+ import type { LocalAgent, AgentResult, InvocationState, InvokeArgs } from '../types/agent.js';
2
2
  import type { ContentBlock, Message, StopReason, ToolResultBlock } from '../types/messages.js';
3
3
  import { type Tool, ToolStreamEvent } from '../tools/tool.js';
4
4
  import type { JSONValue } from '../types/json.js';
5
5
  import type { ModelStreamEvent } from '../models/streaming.js';
6
6
  import type { Model } from '../models/model.js';
7
+ import { type Interrupt, type Interruptible } from '../interrupt.js';
8
+ import type { InterruptParams } from '../types/interrupt.js';
7
9
  /**
8
10
  * Agent hook events.
9
11
  *
10
12
  * All events extend {@link StreamEvent} with a `readonly type` discriminator
11
13
  * (camelCase of the class name) for switch-based narrowing. Constructor takes
12
- * a single data-object parameter. All properties are readonly except explicit
13
- * mutable flags (`retry`).
14
+ * a single data-object parameter. Most properties are readonly writable fields
15
+ * are the hook-driven control/data fields documented per event
16
+ * (e.g. `cancel`, `retry`, `selectedTool`, `resume`, and mutable `toolUse` / `result`).
14
17
  *
15
18
  * All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
16
19
  * making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
@@ -89,6 +92,17 @@ export declare abstract class HookableEvent extends StreamEvent {
89
92
  */
90
93
  _shouldReverseCallbacks(): boolean;
91
94
  }
95
+ /**
96
+ * Mutable tool-use descriptor carried on tool-call hook events.
97
+ * Matches the shape of the tool use block the model emitted; hooks on
98
+ * {@link BeforeToolCallEvent} may mutate its fields (or reassign the object)
99
+ * to rewrite the input, id, or tool name before the tool executes.
100
+ */
101
+ export interface ToolUseData {
102
+ name: string;
103
+ toolUseId: string;
104
+ input: JSONValue;
105
+ }
92
106
  /**
93
107
  * Event triggered when an agent has finished initialization.
94
108
  * Fired after the agent has been fully constructed and all built-in components have been initialized.
@@ -138,21 +152,33 @@ export declare class AfterInvocationEvent extends HookableEvent {
138
152
  readonly type: "afterInvocationEvent";
139
153
  readonly agent: LocalAgent;
140
154
  readonly invocationState: InvocationState;
155
+ /**
156
+ * Set by hook callbacks to trigger a follow-up agent invocation with new input.
157
+ * When set, after this event's callbacks complete the agent re-enters its loop
158
+ * with these args as new input, under the same invocation lock. A fresh
159
+ * {@link BeforeInvocationEvent}/{@link AfterInvocationEvent} pair fires for the
160
+ * resumed run. Ignored if the invocation ended with an error.
161
+ *
162
+ * If multiple callbacks set `resume`, the last callback to run wins.
163
+ */
164
+ resume: InvokeArgs | undefined;
141
165
  constructor(data: {
142
166
  agent: LocalAgent;
143
167
  invocationState: InvocationState;
144
168
  });
145
169
  _shouldReverseCallbacks(): boolean;
146
170
  /**
147
- * Serializes for wire transport, excluding the agent reference and invocationState.
171
+ * Serializes for wire transport, excluding the agent reference, invocationState,
172
+ * and mutable resume field.
148
173
  * Called automatically by JSON.stringify().
149
174
  */
150
175
  toJSON(): Pick<AfterInvocationEvent, 'type'>;
151
176
  }
152
177
  /**
153
178
  * Event triggered when the framework adds a message to the conversation history.
154
- * Fired during the agent loop execution for framework-generated messages.
155
- * Does not fire for initial messages from AgentConfig or user input messages.
179
+ * Fired for user input, assistant responses, and tool-result messages added
180
+ * during agent execution. Does not fire for messages preloaded via
181
+ * `AgentConfig.messages` or messages manually pushed to `agent.messages`.
156
182
  */
157
183
  export declare class MessageAddedEvent extends HookableEvent {
158
184
  readonly type: "messageAddedEvent";
@@ -173,16 +199,18 @@ export declare class MessageAddedEvent extends HookableEvent {
173
199
  /**
174
200
  * Event triggered just before a tool is executed.
175
201
  * Fired after tool lookup but before execution begins.
176
- * Hook callbacks can set {@link cancel} to prevent the tool from executing.
202
+ *
203
+ * Hook callbacks can:
204
+ * - Set {@link cancel} to prevent the tool from executing.
205
+ * - Set {@link selectedTool} to execute a different tool in place of the registry's match.
206
+ * - Mutate {@link toolUse} to rewrite the tool input, id, or name before execution.
207
+ * If `name` is changed and `selectedTool` is not set, the tool is re-resolved from
208
+ * the registry under the new name.
177
209
  */
178
- export declare class BeforeToolCallEvent extends HookableEvent {
210
+ export declare class BeforeToolCallEvent extends HookableEvent implements Interruptible {
179
211
  readonly type: "beforeToolCallEvent";
180
212
  readonly agent: LocalAgent;
181
- readonly toolUse: {
182
- name: string;
183
- toolUseId: string;
184
- input: JSONValue;
185
- };
213
+ toolUse: ToolUseData;
186
214
  readonly tool: Tool | undefined;
187
215
  readonly invocationState: InvocationState;
188
216
  /**
@@ -191,18 +219,34 @@ export declare class BeforeToolCallEvent extends HookableEvent {
191
219
  * When set to a string, that string is used as the tool result error message.
192
220
  */
193
221
  cancel: boolean | string;
222
+ /**
223
+ * Set by hook callbacks to execute a replacement tool instead of {@link tool}.
224
+ * When undefined, the tool looked up from the registry (or re-resolved from a
225
+ * mutated `toolUse.name`) is used.
226
+ *
227
+ * If multiple callbacks set `selectedTool`, the last callback to run wins.
228
+ * Callbacks run in registration order for this event, so the last-registered
229
+ * callback's value is the one used.
230
+ */
231
+ selectedTool: Tool | undefined;
194
232
  constructor(data: {
195
233
  agent: LocalAgent;
196
- toolUse: {
197
- name: string;
198
- toolUseId: string;
199
- input: JSONValue;
200
- };
234
+ toolUse: ToolUseData;
201
235
  tool: Tool | undefined;
202
236
  invocationState: InvocationState;
203
237
  });
204
238
  /**
205
- * Serializes for wire transport, excluding the agent reference, tool instance, invocationState, and mutable cancel flag.
239
+ * Raises an interrupt for human-in-the-loop workflows.
240
+ * If a response is available (from a previous resume), returns it immediately.
241
+ * Otherwise, throws an InterruptError to halt agent execution.
242
+ *
243
+ * @param params - Interrupt parameters including name and optional reason
244
+ * @returns The user's response when resuming from an interrupt
245
+ */
246
+ interrupt<T = JSONValue>(params: InterruptParams): T;
247
+ /**
248
+ * Serializes for wire transport, excluding the agent reference, tool instance,
249
+ * invocationState, and mutable cancel / selectedTool fields.
206
250
  * Called automatically by JSON.stringify().
207
251
  */
208
252
  toJSON(): Pick<BeforeToolCallEvent, 'type' | 'toolUse'>;
@@ -211,15 +255,14 @@ export declare class BeforeToolCallEvent extends HookableEvent {
211
255
  * Event triggered after a tool execution completes.
212
256
  * Fired after tool execution finishes, whether successful or failed.
213
257
  * Uses reverse callback ordering for proper cleanup semantics.
258
+ *
259
+ * Hook callbacks can mutate {@link result} to rewrite the tool result before it
260
+ * propagates to the model (e.g. to redact or truncate output).
214
261
  */
215
262
  export declare class AfterToolCallEvent extends HookableEvent {
216
263
  readonly type: "afterToolCallEvent";
217
264
  readonly agent: LocalAgent;
218
- readonly toolUse: {
219
- name: string;
220
- toolUseId: string;
221
- input: JSONValue;
222
- };
265
+ readonly toolUse: ToolUseData;
223
266
  readonly tool: Tool | undefined;
224
267
  /**
225
268
  * The tool result. Can be replaced by hook callbacks to transform the result
@@ -235,11 +278,7 @@ export declare class AfterToolCallEvent extends HookableEvent {
235
278
  retry?: boolean;
236
279
  constructor(data: {
237
280
  agent: LocalAgent;
238
- toolUse: {
239
- name: string;
240
- toolUseId: string;
241
- input: JSONValue;
242
- };
281
+ toolUse: ToolUseData;
243
282
  tool: Tool | undefined;
244
283
  result: ToolResultBlock;
245
284
  invocationState: InvocationState;
@@ -334,6 +373,16 @@ export declare class AfterModelCallEvent extends HookableEvent {
334
373
  readonly stopData?: ModelStopData;
335
374
  readonly error?: Error;
336
375
  readonly invocationState: InvocationState;
376
+ /**
377
+ * 1-indexed count of model attempts for this turn, including the attempt
378
+ * that just completed (or failed). The first call in a turn is `1`; each
379
+ * subsequent retry increments by one.
380
+ *
381
+ * Retry strategies may rely on `attemptCount === 1` to mark the start of a
382
+ * new retry sequence (e.g. to clear per-turn state carried over from a
383
+ * previous turn). The agent loop guarantees this marker on every fresh turn.
384
+ */
385
+ readonly attemptCount: number;
337
386
  /**
338
387
  * Optional flag that can be set by hook callbacks to request a retry of the model call.
339
388
  * When set to true, the agent will retry the model invocation.
@@ -343,6 +392,7 @@ export declare class AfterModelCallEvent extends HookableEvent {
343
392
  agent: LocalAgent;
344
393
  model: Model;
345
394
  invocationState: InvocationState;
395
+ attemptCount: number;
346
396
  stopData?: ModelStopData;
347
397
  error?: Error;
348
398
  });
@@ -352,7 +402,7 @@ export declare class AfterModelCallEvent extends HookableEvent {
352
402
  * Converts Error to an extensible object for safe wire serialization.
353
403
  * Called automatically by JSON.stringify().
354
404
  */
355
- toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData'> & {
405
+ toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData' | 'attemptCount'> & {
356
406
  error?: {
357
407
  message?: string;
358
408
  };
@@ -493,12 +543,32 @@ export declare class AgentResultEvent extends HookableEvent {
493
543
  */
494
544
  toJSON(): Pick<AgentResultEvent, 'type' | 'result'>;
495
545
  }
546
+ /**
547
+ * Event emitted when an interrupt is raised during agent execution. The `interrupt.source`
548
+ * field discriminates between tool-callback and hook-callback origins. One event fires
549
+ * per unanswered interrupt at the moment the agent stops to wait for responses.
550
+ */
551
+ export declare class InterruptEvent extends HookableEvent {
552
+ readonly type: "interruptEvent";
553
+ readonly agent: LocalAgent;
554
+ readonly interrupt: Interrupt;
555
+ readonly invocationState: InvocationState;
556
+ constructor(data: {
557
+ agent: LocalAgent;
558
+ interrupt: Interrupt;
559
+ invocationState: InvocationState;
560
+ });
561
+ /** Serializes for wire transport, excluding agent and invocationState. */
562
+ toJSON(): Pick<InterruptEvent, 'type'> & {
563
+ interrupt: ReturnType<Interrupt['toJSON']>;
564
+ };
565
+ }
496
566
  /**
497
567
  * Event triggered before executing tools.
498
568
  * Fired when the model returns tool use blocks that need to be executed.
499
569
  * Hook callbacks can set {@link cancel} to prevent all tools from executing.
500
570
  */
501
- export declare class BeforeToolsEvent extends HookableEvent {
571
+ export declare class BeforeToolsEvent extends HookableEvent implements Interruptible {
502
572
  readonly type: "beforeToolsEvent";
503
573
  readonly agent: LocalAgent;
504
574
  readonly message: Message;
@@ -514,6 +584,15 @@ export declare class BeforeToolsEvent extends HookableEvent {
514
584
  message: Message;
515
585
  invocationState: InvocationState;
516
586
  });
587
+ /**
588
+ * Raises an interrupt for human-in-the-loop workflows.
589
+ * If a response is available (from a previous resume), returns it immediately.
590
+ * Otherwise, throws an InterruptError to halt agent execution.
591
+ *
592
+ * @param params - Interrupt parameters including name and optional reason
593
+ * @returns The user's response when resuming from an interrupt
594
+ */
595
+ interrupt<T = JSONValue>(params: InterruptParams): T;
517
596
  /**
518
597
  * Serializes for wire transport, excluding the agent reference, invocationState, and mutable cancel flag.
519
598
  * Called automatically by JSON.stringify().
@@ -530,6 +609,19 @@ export declare class AfterToolsEvent extends HookableEvent {
530
609
  readonly agent: LocalAgent;
531
610
  readonly message: Message;
532
611
  readonly invocationState: InvocationState;
612
+ /**
613
+ * When set to `true`, the agent loop halts after this tool batch completes
614
+ * without calling the model again and a default message
615
+ * (`"Turn ended early by hook after tool execution"`) is appended as the
616
+ * final assistant message. When set to a string, that string is used instead
617
+ * of the default — the string becomes literal assistant content (a
618
+ * `TextBlock`), not a reason or label. Contrast with
619
+ * {@link BeforeToolCallEvent.cancel | cancel} fields on other events, where
620
+ * the string is a cancellation reason.
621
+ *
622
+ * In both cases `stopReason` on the returned `AgentResult` is `'endTurn'`.
623
+ */
624
+ endTurn: boolean | string;
533
625
  constructor(data: {
534
626
  agent: LocalAgent;
535
627
  message: Message;
@@ -537,7 +629,8 @@ export declare class AfterToolsEvent extends HookableEvent {
537
629
  });
538
630
  _shouldReverseCallbacks(): boolean;
539
631
  /**
540
- * Serializes for wire transport, excluding the agent reference and invocationState.
632
+ * Serializes for wire transport, excluding the agent reference, invocationState,
633
+ * and mutable endTurn field.
541
634
  * Called automatically by JSON.stringify().
542
635
  */
543
636
  toJSON(): Pick<AfterToolsEvent, 'type' | 'message'>;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}