@strands-agents/sdk 1.0.0-rc.5 → 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 (380) hide show
  1. package/LICENSE +175 -0
  2. package/README.md +340 -0
  3. package/dist/src/__fixtures__/agent-helpers.d.ts +22 -1
  4. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  5. package/dist/src/__fixtures__/agent-helpers.js +45 -1
  6. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  7. package/dist/src/__fixtures__/mock-plugin.d.ts.map +1 -1
  8. package/dist/src/__fixtures__/mock-plugin.js +3 -1
  9. package/dist/src/__fixtures__/mock-plugin.js.map +1 -1
  10. package/dist/src/__fixtures__/tool-helpers.d.ts +5 -2
  11. package/dist/src/__fixtures__/tool-helpers.d.ts.map +1 -1
  12. package/dist/src/__fixtures__/tool-helpers.js +23 -4
  13. package/dist/src/__fixtures__/tool-helpers.js.map +1 -1
  14. package/dist/src/__tests__/interrupt.test.d.ts +2 -0
  15. package/dist/src/__tests__/interrupt.test.d.ts.map +1 -0
  16. package/dist/src/__tests__/interrupt.test.js +259 -0
  17. package/dist/src/__tests__/interrupt.test.js.map +1 -0
  18. package/dist/src/__tests__/mcp.test.js +448 -2
  19. package/dist/src/__tests__/mcp.test.js.map +1 -1
  20. package/dist/src/a2a/__tests__/events.test.js +2 -0
  21. package/dist/src/a2a/__tests__/events.test.js.map +1 -1
  22. package/dist/src/a2a/__tests__/executor.test.js +16 -5
  23. package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
  24. package/dist/src/a2a/a2a-agent.d.ts +8 -3
  25. package/dist/src/a2a/a2a-agent.d.ts.map +1 -1
  26. package/dist/src/a2a/a2a-agent.js +12 -6
  27. package/dist/src/a2a/a2a-agent.js.map +1 -1
  28. package/dist/src/a2a/executor.d.ts +13 -0
  29. package/dist/src/a2a/executor.d.ts.map +1 -1
  30. package/dist/src/a2a/executor.js +19 -1
  31. package/dist/src/a2a/executor.js.map +1 -1
  32. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts +2 -0
  33. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.d.ts.map +1 -0
  34. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js +23 -0
  35. package/dist/src/agent/__tests__/agent-as-tool.invocation-state.test.js.map +1 -0
  36. package/dist/src/agent/__tests__/agent.cancel.test.js +1 -1
  37. package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -1
  38. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts +2 -0
  39. package/dist/src/agent/__tests__/agent.concurrent.test.d.ts.map +1 -0
  40. package/dist/src/agent/__tests__/agent.concurrent.test.js +488 -0
  41. package/dist/src/agent/__tests__/agent.concurrent.test.js.map +1 -0
  42. package/dist/src/agent/__tests__/agent.hook.test.js +724 -12
  43. package/dist/src/agent/__tests__/agent.hook.test.js.map +1 -1
  44. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts +2 -0
  45. package/dist/src/agent/__tests__/agent.interrupt.test.d.ts.map +1 -0
  46. package/dist/src/agent/__tests__/agent.interrupt.test.js +730 -0
  47. package/dist/src/agent/__tests__/agent.interrupt.test.js.map +1 -0
  48. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts +2 -0
  49. package/dist/src/agent/__tests__/agent.invocation-state.test.d.ts.map +1 -0
  50. package/dist/src/agent/__tests__/agent.invocation-state.test.js +219 -0
  51. package/dist/src/agent/__tests__/agent.invocation-state.test.js.map +1 -0
  52. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts +2 -0
  53. package/dist/src/agent/__tests__/agent.model-retry.test.d.ts.map +1 -0
  54. package/dist/src/agent/__tests__/agent.model-retry.test.js +161 -0
  55. package/dist/src/agent/__tests__/agent.model-retry.test.js.map +1 -0
  56. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts +2 -0
  57. package/dist/src/agent/__tests__/agent.stateful-model.test.d.ts.map +1 -0
  58. package/dist/src/agent/__tests__/agent.stateful-model.test.js +169 -0
  59. package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -0
  60. package/dist/src/agent/__tests__/agent.test.js +217 -2
  61. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  62. package/dist/src/agent/__tests__/agent.tracer.test.node.js +39 -0
  63. package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
  64. package/dist/src/agent/__tests__/snapshot.test.js +51 -4
  65. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  66. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  67. package/dist/src/agent/agent-as-tool.js +4 -2
  68. package/dist/src/agent/agent-as-tool.js.map +1 -1
  69. package/dist/src/agent/agent.d.ts +109 -4
  70. package/dist/src/agent/agent.d.ts.map +1 -1
  71. package/dist/src/agent/agent.js +790 -224
  72. package/dist/src/agent/agent.js.map +1 -1
  73. package/dist/src/agent/snapshot.d.ts +2 -2
  74. package/dist/src/agent/snapshot.d.ts.map +1 -1
  75. package/dist/src/agent/snapshot.js +20 -2
  76. package/dist/src/agent/snapshot.js.map +1 -1
  77. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js +230 -9
  78. package/dist/src/conversation-manager/__tests__/conversation-manager.test.js.map +1 -1
  79. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js +19 -6
  80. package/dist/src/conversation-manager/__tests__/null-conversation-manager.test.js.map +1 -1
  81. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +58 -4
  82. package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
  83. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +76 -1
  84. package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
  85. package/dist/src/conversation-manager/conversation-manager.d.ts +67 -22
  86. package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
  87. package/dist/src/conversation-manager/conversation-manager.js +65 -13
  88. package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
  89. package/dist/src/conversation-manager/index.d.ts +1 -1
  90. package/dist/src/conversation-manager/index.d.ts.map +1 -1
  91. package/dist/src/conversation-manager/index.js +1 -1
  92. package/dist/src/conversation-manager/index.js.map +1 -1
  93. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +17 -3
  94. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  95. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +10 -4
  96. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  97. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +23 -1
  98. package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
  99. package/dist/src/conversation-manager/summarizing-conversation-manager.js +39 -17
  100. package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
  101. package/dist/src/errors.d.ts +11 -0
  102. package/dist/src/errors.d.ts.map +1 -1
  103. package/dist/src/errors.js +12 -0
  104. package/dist/src/errors.js.map +1 -1
  105. package/dist/src/hooks/__tests__/events.test.js +267 -73
  106. package/dist/src/hooks/__tests__/events.test.js.map +1 -1
  107. package/dist/src/hooks/__tests__/registry.test.js +182 -18
  108. package/dist/src/hooks/__tests__/registry.test.js.map +1 -1
  109. package/dist/src/hooks/events.d.ts +193 -51
  110. package/dist/src/hooks/events.d.ts.map +1 -1
  111. package/dist/src/hooks/events.js +182 -26
  112. package/dist/src/hooks/events.js.map +1 -1
  113. package/dist/src/hooks/index.d.ts +3 -2
  114. package/dist/src/hooks/index.d.ts.map +1 -1
  115. package/dist/src/hooks/index.js +1 -0
  116. package/dist/src/hooks/index.js.map +1 -1
  117. package/dist/src/hooks/registry.d.ts +12 -12
  118. package/dist/src/hooks/registry.d.ts.map +1 -1
  119. package/dist/src/hooks/registry.js +55 -15
  120. package/dist/src/hooks/registry.js.map +1 -1
  121. package/dist/src/hooks/types.d.ts +23 -0
  122. package/dist/src/hooks/types.d.ts.map +1 -1
  123. package/dist/src/hooks/types.js +17 -1
  124. package/dist/src/hooks/types.js.map +1 -1
  125. package/dist/src/index.d.ts +12 -7
  126. package/dist/src/index.d.ts.map +1 -1
  127. package/dist/src/index.js +4 -1
  128. package/dist/src/index.js.map +1 -1
  129. package/dist/src/interrupt.d.ts +220 -0
  130. package/dist/src/interrupt.d.ts.map +1 -0
  131. package/dist/src/interrupt.js +274 -0
  132. package/dist/src/interrupt.js.map +1 -0
  133. package/dist/src/logging/__tests__/warn-once.test.d.ts +2 -0
  134. package/dist/src/logging/__tests__/warn-once.test.d.ts.map +1 -0
  135. package/dist/src/logging/__tests__/warn-once.test.js +30 -0
  136. package/dist/src/logging/__tests__/warn-once.test.js.map +1 -0
  137. package/dist/src/logging/warn-once.d.ts +13 -0
  138. package/dist/src/logging/warn-once.d.ts.map +1 -0
  139. package/dist/src/logging/warn-once.js +18 -0
  140. package/dist/src/logging/warn-once.js.map +1 -0
  141. package/dist/src/mcp.d.ts +43 -3
  142. package/dist/src/mcp.d.ts.map +1 -1
  143. package/dist/src/mcp.js +85 -17
  144. package/dist/src/mcp.js.map +1 -1
  145. package/dist/src/mime.d.ts +2 -1
  146. package/dist/src/mime.d.ts.map +1 -1
  147. package/dist/src/mime.js +1 -0
  148. package/dist/src/mime.js.map +1 -1
  149. package/dist/src/models/__tests__/anthropic.test.js +147 -3
  150. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  151. package/dist/src/models/__tests__/bedrock.test.js +228 -2
  152. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  153. package/dist/src/models/__tests__/defaults.test.d.ts +2 -0
  154. package/dist/src/models/__tests__/defaults.test.d.ts.map +1 -0
  155. package/dist/src/models/__tests__/defaults.test.js +36 -0
  156. package/dist/src/models/__tests__/defaults.test.js.map +1 -0
  157. package/dist/src/models/__tests__/google.test.js +135 -0
  158. package/dist/src/models/__tests__/google.test.js.map +1 -1
  159. package/dist/src/models/__tests__/model.test.js +149 -1
  160. package/dist/src/models/__tests__/model.test.js.map +1 -1
  161. package/dist/src/models/anthropic.d.ts +20 -1
  162. package/dist/src/models/anthropic.d.ts.map +1 -1
  163. package/dist/src/models/anthropic.js +42 -8
  164. package/dist/src/models/anthropic.js.map +1 -1
  165. package/dist/src/models/bedrock.d.ts +27 -1
  166. package/dist/src/models/bedrock.d.ts.map +1 -1
  167. package/dist/src/models/bedrock.js +100 -12
  168. package/dist/src/models/bedrock.js.map +1 -1
  169. package/dist/src/models/defaults.d.ts +47 -0
  170. package/dist/src/models/defaults.d.ts.map +1 -0
  171. package/dist/src/models/defaults.js +170 -0
  172. package/dist/src/models/defaults.js.map +1 -0
  173. package/dist/src/models/google/model.d.ts +14 -1
  174. package/dist/src/models/google/model.d.ts.map +1 -1
  175. package/dist/src/models/google/model.js +54 -8
  176. package/dist/src/models/google/model.js.map +1 -1
  177. package/dist/src/models/google/types.d.ts +8 -0
  178. package/dist/src/models/google/types.d.ts.map +1 -1
  179. package/dist/src/models/model.d.ts +65 -0
  180. package/dist/src/models/model.d.ts.map +1 -1
  181. package/dist/src/models/model.js +138 -0
  182. package/dist/src/models/model.js.map +1 -1
  183. package/dist/src/models/openai/__tests__/chat.test.d.ts +2 -0
  184. package/dist/src/models/openai/__tests__/chat.test.d.ts.map +1 -0
  185. package/dist/src/models/{__tests__/openai.test.js → openai/__tests__/chat.test.js} +117 -7
  186. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -0
  187. package/dist/src/models/openai/__tests__/responses.test.d.ts +2 -0
  188. package/dist/src/models/openai/__tests__/responses.test.d.ts.map +1 -0
  189. package/dist/src/models/openai/__tests__/responses.test.js +668 -0
  190. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -0
  191. package/dist/src/models/openai/chat-adapter.d.ts +33 -0
  192. package/dist/src/models/openai/chat-adapter.d.ts.map +1 -0
  193. package/dist/src/models/openai/chat-adapter.js +383 -0
  194. package/dist/src/models/openai/chat-adapter.js.map +1 -0
  195. package/dist/src/models/openai/errors.d.ts +16 -0
  196. package/dist/src/models/openai/errors.d.ts.map +1 -0
  197. package/dist/src/models/openai/errors.js +40 -0
  198. package/dist/src/models/openai/errors.js.map +1 -0
  199. package/dist/src/models/openai/formatting.d.ts +18 -0
  200. package/dist/src/models/openai/formatting.d.ts.map +1 -0
  201. package/dist/src/models/openai/formatting.js +38 -0
  202. package/dist/src/models/openai/formatting.js.map +1 -0
  203. package/dist/src/models/openai/index.d.ts +19 -0
  204. package/dist/src/models/openai/index.d.ts.map +1 -0
  205. package/dist/src/models/openai/index.js +18 -0
  206. package/dist/src/models/openai/index.js.map +1 -0
  207. package/dist/src/models/openai/model.d.ts +77 -0
  208. package/dist/src/models/openai/model.d.ts.map +1 -0
  209. package/dist/src/models/openai/model.js +211 -0
  210. package/dist/src/models/openai/model.js.map +1 -0
  211. package/dist/src/models/openai/responses-adapter.d.ts +78 -0
  212. package/dist/src/models/openai/responses-adapter.d.ts.map +1 -0
  213. package/dist/src/models/openai/responses-adapter.js +467 -0
  214. package/dist/src/models/openai/responses-adapter.js.map +1 -0
  215. package/dist/src/models/openai/types.d.ts +131 -0
  216. package/dist/src/models/openai/types.d.ts.map +1 -0
  217. package/dist/src/models/openai/types.js +5 -0
  218. package/dist/src/models/openai/types.js.map +1 -0
  219. package/dist/src/multiagent/__tests__/events.test.js +122 -28
  220. package/dist/src/multiagent/__tests__/events.test.js.map +1 -1
  221. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts +2 -0
  222. package/dist/src/multiagent/__tests__/graph.invocation-state.test.d.ts.map +1 -0
  223. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js +95 -0
  224. package/dist/src/multiagent/__tests__/graph.invocation-state.test.js.map +1 -0
  225. package/dist/src/multiagent/__tests__/graph.test.js +69 -0
  226. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  227. package/dist/src/multiagent/__tests__/nodes.test.js +18 -2
  228. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  229. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts +2 -0
  230. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.d.ts.map +1 -0
  231. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js +56 -0
  232. package/dist/src/multiagent/__tests__/swarm.invocation-state.test.js.map +1 -0
  233. package/dist/src/multiagent/__tests__/swarm.test.js +77 -0
  234. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  235. package/dist/src/multiagent/events.d.ts +19 -1
  236. package/dist/src/multiagent/events.d.ts.map +1 -1
  237. package/dist/src/multiagent/events.js +18 -0
  238. package/dist/src/multiagent/events.js.map +1 -1
  239. package/dist/src/multiagent/graph.d.ts +27 -5
  240. package/dist/src/multiagent/graph.d.ts.map +1 -1
  241. package/dist/src/multiagent/graph.js +61 -15
  242. package/dist/src/multiagent/graph.js.map +1 -1
  243. package/dist/src/multiagent/index.d.ts +1 -1
  244. package/dist/src/multiagent/index.d.ts.map +1 -1
  245. package/dist/src/multiagent/multiagent.d.ts +21 -6
  246. package/dist/src/multiagent/multiagent.d.ts.map +1 -1
  247. package/dist/src/multiagent/nodes.d.ts +28 -3
  248. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  249. package/dist/src/multiagent/nodes.js +42 -7
  250. package/dist/src/multiagent/nodes.js.map +1 -1
  251. package/dist/src/multiagent/swarm.d.ts +20 -4
  252. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  253. package/dist/src/multiagent/swarm.js +65 -16
  254. package/dist/src/multiagent/swarm.js.map +1 -1
  255. package/dist/src/plugins/__tests__/registry.test.js +1 -1
  256. package/dist/src/plugins/__tests__/registry.test.js.map +1 -1
  257. package/dist/src/plugins/model-plugin.d.ts +20 -0
  258. package/dist/src/plugins/model-plugin.d.ts.map +1 -0
  259. package/dist/src/plugins/model-plugin.js +29 -0
  260. package/dist/src/plugins/model-plugin.js.map +1 -0
  261. package/dist/src/registry/__tests__/tool-registry.test.js +11 -0
  262. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  263. package/dist/src/registry/tool-registry.d.ts +4 -0
  264. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  265. package/dist/src/registry/tool-registry.js +6 -0
  266. package/dist/src/registry/tool-registry.js.map +1 -1
  267. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts +2 -0
  268. package/dist/src/retry/__tests__/backoff-strategy.test.d.ts.map +1 -0
  269. package/dist/src/retry/__tests__/backoff-strategy.test.js +116 -0
  270. package/dist/src/retry/__tests__/backoff-strategy.test.js.map +1 -0
  271. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts +2 -0
  272. package/dist/src/retry/__tests__/default-model-retry-strategy.test.d.ts.map +1 -0
  273. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js +225 -0
  274. package/dist/src/retry/__tests__/default-model-retry-strategy.test.js.map +1 -0
  275. package/dist/src/retry/backoff-strategy.d.ts +108 -0
  276. package/dist/src/retry/backoff-strategy.d.ts.map +1 -0
  277. package/dist/src/retry/backoff-strategy.js +86 -0
  278. package/dist/src/retry/backoff-strategy.js.map +1 -0
  279. package/dist/src/retry/default-model-retry-strategy.d.ts +76 -0
  280. package/dist/src/retry/default-model-retry-strategy.d.ts.map +1 -0
  281. package/dist/src/retry/default-model-retry-strategy.js +104 -0
  282. package/dist/src/retry/default-model-retry-strategy.js.map +1 -0
  283. package/dist/src/retry/index.d.ts +8 -0
  284. package/dist/src/retry/index.d.ts.map +1 -0
  285. package/dist/src/retry/index.js +7 -0
  286. package/dist/src/retry/index.js.map +1 -0
  287. package/dist/src/retry/model-retry-strategy.d.ts +80 -0
  288. package/dist/src/retry/model-retry-strategy.d.ts.map +1 -0
  289. package/dist/src/retry/model-retry-strategy.js +85 -0
  290. package/dist/src/retry/model-retry-strategy.js.map +1 -0
  291. package/dist/src/retry/retry-strategy.d.ts +34 -0
  292. package/dist/src/retry/retry-strategy.d.ts.map +1 -0
  293. package/dist/src/retry/retry-strategy.js +25 -0
  294. package/dist/src/retry/retry-strategy.js.map +1 -0
  295. package/dist/src/session/__tests__/session-manager.test.js +52 -11
  296. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  297. package/dist/src/session/session-manager.d.ts +6 -0
  298. package/dist/src/session/session-manager.d.ts.map +1 -1
  299. package/dist/src/session/session-manager.js +17 -0
  300. package/dist/src/session/session-manager.js.map +1 -1
  301. package/dist/src/telemetry/__tests__/meter.test.js +23 -0
  302. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  303. package/dist/src/telemetry/meter.d.ts +15 -0
  304. package/dist/src/telemetry/meter.d.ts.map +1 -1
  305. package/dist/src/telemetry/meter.js +14 -0
  306. package/dist/src/telemetry/meter.js.map +1 -1
  307. package/dist/src/tools/__tests__/tool.test.js +24 -1
  308. package/dist/src/tools/__tests__/tool.test.js.map +1 -1
  309. package/dist/src/tools/function-tool.d.ts.map +1 -1
  310. package/dist/src/tools/function-tool.js +6 -1
  311. package/dist/src/tools/function-tool.js.map +1 -1
  312. package/dist/src/tools/mcp-tool.d.ts +24 -3
  313. package/dist/src/tools/mcp-tool.d.ts.map +1 -1
  314. package/dist/src/tools/mcp-tool.js +103 -31
  315. package/dist/src/tools/mcp-tool.js.map +1 -1
  316. package/dist/src/tools/tool.d.ts +21 -2
  317. package/dist/src/tools/tool.d.ts.map +1 -1
  318. package/dist/src/tools/tool.js +12 -0
  319. package/dist/src/tools/tool.js.map +1 -1
  320. package/dist/src/tsconfig.tsbuildinfo +1 -1
  321. package/dist/src/types/__tests__/agent.test.js +48 -0
  322. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  323. package/dist/src/types/agent.d.ts +77 -9
  324. package/dist/src/types/agent.d.ts.map +1 -1
  325. package/dist/src/types/agent.js +30 -6
  326. package/dist/src/types/agent.js.map +1 -1
  327. package/dist/src/types/elicitation.d.ts +15 -0
  328. package/dist/src/types/elicitation.d.ts.map +1 -0
  329. package/dist/src/types/elicitation.js +2 -0
  330. package/dist/src/types/elicitation.js.map +1 -0
  331. package/dist/src/types/interrupt.d.ts +103 -0
  332. package/dist/src/types/interrupt.d.ts.map +1 -0
  333. package/dist/src/types/interrupt.js +63 -0
  334. package/dist/src/types/interrupt.js.map +1 -0
  335. package/dist/src/types/messages.d.ts +2 -1
  336. package/dist/src/types/messages.d.ts.map +1 -1
  337. package/dist/src/types/messages.js.map +1 -1
  338. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts +2 -0
  339. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.d.ts.map +1 -0
  340. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +292 -0
  341. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -0
  342. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts +2 -0
  343. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.d.ts.map +1 -0
  344. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +148 -0
  345. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -0
  346. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts +2 -0
  347. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.d.ts.map +1 -0
  348. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js +78 -0
  349. package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.node.js.map +1 -0
  350. package/dist/src/vended-plugins/context-offloader/index.d.ts +23 -0
  351. package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -0
  352. package/dist/src/vended-plugins/context-offloader/index.js +21 -0
  353. package/dist/src/vended-plugins/context-offloader/index.js.map +1 -0
  354. package/dist/src/vended-plugins/context-offloader/plugin.d.ts +48 -0
  355. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -0
  356. package/dist/src/vended-plugins/context-offloader/plugin.js +244 -0
  357. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -0
  358. package/dist/src/vended-plugins/context-offloader/storage.d.ts +114 -0
  359. package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -0
  360. package/dist/src/vended-plugins/context-offloader/storage.js +204 -0
  361. package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -0
  362. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +21 -5
  363. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
  364. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +4 -0
  365. package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
  366. package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
  367. package/dist/src/vended-tools/bash/bash.js +0 -3
  368. package/dist/src/vended-tools/bash/bash.js.map +1 -1
  369. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +4 -0
  370. package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
  371. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +4 -0
  372. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  373. package/package.json +17 -9
  374. package/dist/src/models/__tests__/openai.test.d.ts +0 -2
  375. package/dist/src/models/__tests__/openai.test.d.ts.map +0 -1
  376. package/dist/src/models/__tests__/openai.test.js.map +0 -1
  377. package/dist/src/models/openai.d.ts +0 -312
  378. package/dist/src/models/openai.d.ts.map +0 -1
  379. package/dist/src/models/openai.js +0 -789
  380. package/dist/src/models/openai.js.map +0 -1
@@ -1,16 +1,19 @@
1
- import type { LocalAgent, AgentResult } 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 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
@@ -45,13 +48,29 @@ import type { Model } from '../models/model.js';
45
48
  *
46
49
  * ## Field naming conventions
47
50
  *
48
- * | Field | Usage |
49
- * |-----------------|--------------------------------------------------|
50
- * | `agent` | `LocalAgent` reference on all agent-loop events |
51
- * | `.event` | Inner event in update wrappers |
52
- * | `.result` | Finished result object |
53
- * | `.message` | Message object |
54
- * | `.contentBlock` | Content block object |
51
+ * | Field | Usage |
52
+ * |--------------------|--------------------------------------------------|
53
+ * | `agent` | `LocalAgent` reference on all agent-loop events |
54
+ * | `invocationState` | Per-invocation state see below |
55
+ * | `.event` | Inner event in update wrappers |
56
+ * | `.result` | Finished result object |
57
+ * | `.message` | Message object |
58
+ * | `.contentBlock` | Content block object |
59
+ *
60
+ * ## `invocationState` on events
61
+ *
62
+ * Every hookable event that fires **during** an invocation carries
63
+ * {@link InvocationState} — the per-invocation mutable bag shared across hooks
64
+ * and tools. This lets any callback (lifecycle, data, streaming, completion)
65
+ * correlate back to the caller's request context (`userId`, `traceId`, etc.)
66
+ * without closure workarounds.
67
+ *
68
+ * The only events without `invocationState` are the ones that fire **outside**
69
+ * any invocation scope: {@link InitializedEvent} and `MultiAgentInitializedEvent`,
70
+ * both of which fire at construction.
71
+ *
72
+ * New events should follow the same rule: carry `invocationState` unless the
73
+ * event fires before any invocation exists.
55
74
  */
56
75
  /**
57
76
  * Base class for all events yielded by `agent.stream()`.
@@ -73,6 +92,17 @@ export declare abstract class HookableEvent extends StreamEvent {
73
92
  */
74
93
  _shouldReverseCallbacks(): boolean;
75
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
+ }
76
106
  /**
77
107
  * Event triggered when an agent has finished initialization.
78
108
  * Fired after the agent has been fully constructed and all built-in components have been initialized.
@@ -96,11 +126,19 @@ export declare class InitializedEvent extends HookableEvent {
96
126
  export declare class BeforeInvocationEvent extends HookableEvent {
97
127
  readonly type: "beforeInvocationEvent";
98
128
  readonly agent: LocalAgent;
129
+ readonly invocationState: InvocationState;
130
+ /**
131
+ * Set by hook callbacks to cancel this invocation.
132
+ * When set to `true`, a default cancel message is used.
133
+ * When set to a string, that string is used as the assistant response message.
134
+ */
135
+ cancel: boolean | string;
99
136
  constructor(data: {
100
137
  agent: LocalAgent;
138
+ invocationState: InvocationState;
101
139
  });
102
140
  /**
103
- * Serializes for wire transport, excluding the agent reference.
141
+ * Serializes for wire transport, excluding the agent reference and invocationState.
104
142
  * Called automatically by JSON.stringify().
105
143
  */
106
144
  toJSON(): Pick<BeforeInvocationEvent, 'type'>;
@@ -113,12 +151,25 @@ export declare class BeforeInvocationEvent extends HookableEvent {
113
151
  export declare class AfterInvocationEvent extends HookableEvent {
114
152
  readonly type: "afterInvocationEvent";
115
153
  readonly agent: LocalAgent;
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;
116
165
  constructor(data: {
117
166
  agent: LocalAgent;
167
+ invocationState: InvocationState;
118
168
  });
119
169
  _shouldReverseCallbacks(): boolean;
120
170
  /**
121
- * Serializes for wire transport, excluding the agent reference.
171
+ * Serializes for wire transport, excluding the agent reference, invocationState,
172
+ * and mutable resume field.
122
173
  * Called automatically by JSON.stringify().
123
174
  */
124
175
  toJSON(): Pick<AfterInvocationEvent, 'type'>;
@@ -132,12 +183,14 @@ export declare class MessageAddedEvent extends HookableEvent {
132
183
  readonly type: "messageAddedEvent";
133
184
  readonly agent: LocalAgent;
134
185
  readonly message: Message;
186
+ readonly invocationState: InvocationState;
135
187
  constructor(data: {
136
188
  agent: LocalAgent;
137
189
  message: Message;
190
+ invocationState: InvocationState;
138
191
  });
139
192
  /**
140
- * Serializes for wire transport, excluding the agent reference.
193
+ * Serializes for wire transport, excluding the agent reference and invocationState.
141
194
  * Called automatically by JSON.stringify().
142
195
  */
143
196
  toJSON(): Pick<MessageAddedEvent, 'type' | 'message'>;
@@ -145,34 +198,54 @@ export declare class MessageAddedEvent extends HookableEvent {
145
198
  /**
146
199
  * Event triggered just before a tool is executed.
147
200
  * Fired after tool lookup but before execution begins.
148
- * Hook callbacks can set {@link cancel} to prevent the tool from executing.
201
+ *
202
+ * Hook callbacks can:
203
+ * - Set {@link cancel} to prevent the tool from executing.
204
+ * - Set {@link selectedTool} to execute a different tool in place of the registry's match.
205
+ * - Mutate {@link toolUse} to rewrite the tool input, id, or name before execution.
206
+ * If `name` is changed and `selectedTool` is not set, the tool is re-resolved from
207
+ * the registry under the new name.
149
208
  */
150
- export declare class BeforeToolCallEvent extends HookableEvent {
209
+ export declare class BeforeToolCallEvent extends HookableEvent implements Interruptible {
151
210
  readonly type: "beforeToolCallEvent";
152
211
  readonly agent: LocalAgent;
153
- readonly toolUse: {
154
- name: string;
155
- toolUseId: string;
156
- input: JSONValue;
157
- };
212
+ toolUse: ToolUseData;
158
213
  readonly tool: Tool | undefined;
214
+ readonly invocationState: InvocationState;
159
215
  /**
160
216
  * Set by hook callbacks to cancel this tool call.
161
217
  * When set to `true`, a default cancel message is used.
162
218
  * When set to a string, that string is used as the tool result error message.
163
219
  */
164
220
  cancel: boolean | string;
221
+ /**
222
+ * Set by hook callbacks to execute a replacement tool instead of {@link tool}.
223
+ * When undefined, the tool looked up from the registry (or re-resolved from a
224
+ * mutated `toolUse.name`) is used.
225
+ *
226
+ * If multiple callbacks set `selectedTool`, the last callback to run wins.
227
+ * Callbacks run in registration order for this event, so the last-registered
228
+ * callback's value is the one used.
229
+ */
230
+ selectedTool: Tool | undefined;
165
231
  constructor(data: {
166
232
  agent: LocalAgent;
167
- toolUse: {
168
- name: string;
169
- toolUseId: string;
170
- input: JSONValue;
171
- };
233
+ toolUse: ToolUseData;
172
234
  tool: Tool | undefined;
235
+ invocationState: InvocationState;
173
236
  });
174
237
  /**
175
- * Serializes for wire transport, excluding the agent reference, tool instance, and mutable cancel flag.
238
+ * Raises an interrupt for human-in-the-loop workflows.
239
+ * If a response is available (from a previous resume), returns it immediately.
240
+ * Otherwise, throws an InterruptError to halt agent execution.
241
+ *
242
+ * @param params - Interrupt parameters including name and optional reason
243
+ * @returns The user's response when resuming from an interrupt
244
+ */
245
+ interrupt<T = JSONValue>(params: InterruptParams): T;
246
+ /**
247
+ * Serializes for wire transport, excluding the agent reference, tool instance,
248
+ * invocationState, and mutable cancel / selectedTool fields.
176
249
  * Called automatically by JSON.stringify().
177
250
  */
178
251
  toJSON(): Pick<BeforeToolCallEvent, 'type' | 'toolUse'>;
@@ -181,18 +254,22 @@ export declare class BeforeToolCallEvent extends HookableEvent {
181
254
  * Event triggered after a tool execution completes.
182
255
  * Fired after tool execution finishes, whether successful or failed.
183
256
  * Uses reverse callback ordering for proper cleanup semantics.
257
+ *
258
+ * Hook callbacks can mutate {@link result} to rewrite the tool result before it
259
+ * propagates to the model (e.g. to redact or truncate output).
184
260
  */
185
261
  export declare class AfterToolCallEvent extends HookableEvent {
186
262
  readonly type: "afterToolCallEvent";
187
263
  readonly agent: LocalAgent;
188
- readonly toolUse: {
189
- name: string;
190
- toolUseId: string;
191
- input: JSONValue;
192
- };
264
+ readonly toolUse: ToolUseData;
193
265
  readonly tool: Tool | undefined;
194
- readonly result: ToolResultBlock;
266
+ /**
267
+ * The tool result. Can be replaced by hook callbacks to transform the result
268
+ * before it enters the conversation history.
269
+ */
270
+ result: ToolResultBlock;
195
271
  readonly error?: Error;
272
+ readonly invocationState: InvocationState;
196
273
  /**
197
274
  * Optional flag that can be set by hook callbacks to request a retry of the tool call.
198
275
  * When set to true, the agent will re-execute the tool.
@@ -200,18 +277,15 @@ export declare class AfterToolCallEvent extends HookableEvent {
200
277
  retry?: boolean;
201
278
  constructor(data: {
202
279
  agent: LocalAgent;
203
- toolUse: {
204
- name: string;
205
- toolUseId: string;
206
- input: JSONValue;
207
- };
280
+ toolUse: ToolUseData;
208
281
  tool: Tool | undefined;
209
282
  result: ToolResultBlock;
283
+ invocationState: InvocationState;
210
284
  error?: Error;
211
285
  });
212
286
  _shouldReverseCallbacks(): boolean;
213
287
  /**
214
- * Serializes for wire transport, excluding the agent reference, tool instance, and mutable retry flag.
288
+ * Serializes for wire transport, excluding the agent reference, tool instance, invocationState, and mutable retry flag.
215
289
  * Converts Error to an extensible object for safe wire serialization.
216
290
  * Called automatically by JSON.stringify().
217
291
  */
@@ -229,15 +303,31 @@ export declare class BeforeModelCallEvent extends HookableEvent {
229
303
  readonly type: "beforeModelCallEvent";
230
304
  readonly agent: LocalAgent;
231
305
  readonly model: Model;
306
+ readonly invocationState: InvocationState;
307
+ /**
308
+ * Set by hook callbacks to cancel this model call.
309
+ * When set to `true`, a default cancel message is used.
310
+ * When set to a string, that string is used as the assistant response message.
311
+ */
312
+ cancel: boolean | string;
313
+ /**
314
+ * Projected input token count for the upcoming model call.
315
+ * Computed by the agent loop from message metadata and token estimation.
316
+ * Available for hooks and plugins (e.g. conversation managers) to make
317
+ * proactive decisions about context management.
318
+ */
319
+ readonly projectedInputTokens?: number;
232
320
  constructor(data: {
233
321
  agent: LocalAgent;
234
322
  model: Model;
323
+ invocationState: InvocationState;
324
+ projectedInputTokens?: number;
235
325
  });
236
326
  /**
237
- * Serializes for wire transport, excluding the agent reference.
327
+ * Serializes for wire transport, excluding the agent reference and invocationState.
238
328
  * Called automatically by JSON.stringify().
239
329
  */
240
- toJSON(): Pick<BeforeModelCallEvent, 'type'>;
330
+ toJSON(): Pick<BeforeModelCallEvent, 'type' | 'projectedInputTokens'>;
241
331
  }
242
332
  /**
243
333
  * Redaction information when guardrails block content.
@@ -281,6 +371,17 @@ export declare class AfterModelCallEvent extends HookableEvent {
281
371
  readonly model: Model;
282
372
  readonly stopData?: ModelStopData;
283
373
  readonly error?: Error;
374
+ readonly invocationState: InvocationState;
375
+ /**
376
+ * 1-indexed count of model attempts for this turn, including the attempt
377
+ * that just completed (or failed). The first call in a turn is `1`; each
378
+ * subsequent retry increments by one.
379
+ *
380
+ * Retry strategies may rely on `attemptCount === 1` to mark the start of a
381
+ * new retry sequence (e.g. to clear per-turn state carried over from a
382
+ * previous turn). The agent loop guarantees this marker on every fresh turn.
383
+ */
384
+ readonly attemptCount: number;
284
385
  /**
285
386
  * Optional flag that can be set by hook callbacks to request a retry of the model call.
286
387
  * When set to true, the agent will retry the model invocation.
@@ -289,16 +390,18 @@ export declare class AfterModelCallEvent extends HookableEvent {
289
390
  constructor(data: {
290
391
  agent: LocalAgent;
291
392
  model: Model;
393
+ invocationState: InvocationState;
394
+ attemptCount: number;
292
395
  stopData?: ModelStopData;
293
396
  error?: Error;
294
397
  });
295
398
  _shouldReverseCallbacks(): boolean;
296
399
  /**
297
- * Serializes for wire transport, excluding the agent reference and mutable retry flag.
400
+ * Serializes for wire transport, excluding the agent reference, invocationState, and mutable retry flag.
298
401
  * Converts Error to an extensible object for safe wire serialization.
299
402
  * Called automatically by JSON.stringify().
300
403
  */
301
- toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData'> & {
404
+ toJSON(): Pick<AfterModelCallEvent, 'type' | 'stopData' | 'attemptCount'> & {
302
405
  error?: {
303
406
  message?: string;
304
407
  };
@@ -314,12 +417,14 @@ export declare class ModelStreamUpdateEvent extends HookableEvent {
314
417
  readonly type: "modelStreamUpdateEvent";
315
418
  readonly agent: LocalAgent;
316
419
  readonly event: ModelStreamEvent;
420
+ readonly invocationState: InvocationState;
317
421
  constructor(data: {
318
422
  agent: LocalAgent;
319
423
  event: ModelStreamEvent;
424
+ invocationState: InvocationState;
320
425
  });
321
426
  /**
322
- * Serializes for wire transport, excluding the agent reference.
427
+ * Serializes for wire transport, excluding the agent reference and invocationState.
323
428
  * Called automatically by JSON.stringify().
324
429
  */
325
430
  toJSON(): Pick<ModelStreamUpdateEvent, 'type' | 'event'>;
@@ -338,12 +443,14 @@ export declare class ContentBlockEvent extends HookableEvent {
338
443
  readonly type: "contentBlockEvent";
339
444
  readonly agent: LocalAgent;
340
445
  readonly contentBlock: ContentBlock;
446
+ readonly invocationState: InvocationState;
341
447
  constructor(data: {
342
448
  agent: LocalAgent;
343
449
  contentBlock: ContentBlock;
450
+ invocationState: InvocationState;
344
451
  });
345
452
  /**
346
- * Serializes for wire transport, excluding the agent reference.
453
+ * Serializes for wire transport, excluding the agent reference and invocationState.
347
454
  * Called automatically by JSON.stringify().
348
455
  */
349
456
  toJSON(): Pick<ContentBlockEvent, 'type' | 'contentBlock'>;
@@ -357,13 +464,15 @@ export declare class ModelMessageEvent extends HookableEvent {
357
464
  readonly agent: LocalAgent;
358
465
  readonly message: Message;
359
466
  readonly stopReason: StopReason;
467
+ readonly invocationState: InvocationState;
360
468
  constructor(data: {
361
469
  agent: LocalAgent;
362
470
  message: Message;
363
471
  stopReason: StopReason;
472
+ invocationState: InvocationState;
364
473
  });
365
474
  /**
366
- * Serializes for wire transport, excluding the agent reference.
475
+ * Serializes for wire transport, excluding the agent reference and invocationState.
367
476
  * Called automatically by JSON.stringify().
368
477
  */
369
478
  toJSON(): Pick<ModelMessageEvent, 'type' | 'message' | 'stopReason'>;
@@ -376,12 +485,14 @@ export declare class ToolResultEvent extends HookableEvent {
376
485
  readonly type: "toolResultEvent";
377
486
  readonly agent: LocalAgent;
378
487
  readonly result: ToolResultBlock;
488
+ readonly invocationState: InvocationState;
379
489
  constructor(data: {
380
490
  agent: LocalAgent;
381
491
  result: ToolResultBlock;
492
+ invocationState: InvocationState;
382
493
  });
383
494
  /**
384
- * Serializes for wire transport, excluding the agent reference.
495
+ * Serializes for wire transport, excluding the agent reference and invocationState.
385
496
  * Called automatically by JSON.stringify().
386
497
  */
387
498
  toJSON(): Pick<ToolResultEvent, 'type' | 'result'>;
@@ -399,12 +510,14 @@ export declare class ToolStreamUpdateEvent extends HookableEvent {
399
510
  readonly type: "toolStreamUpdateEvent";
400
511
  readonly agent: LocalAgent;
401
512
  readonly event: ToolStreamEvent;
513
+ readonly invocationState: InvocationState;
402
514
  constructor(data: {
403
515
  agent: LocalAgent;
404
516
  event: ToolStreamEvent;
517
+ invocationState: InvocationState;
405
518
  });
406
519
  /**
407
- * Serializes for wire transport, excluding the agent reference.
520
+ * Serializes for wire transport, excluding the agent reference and invocationState.
408
521
  * Called automatically by JSON.stringify().
409
522
  */
410
523
  toJSON(): Pick<ToolStreamUpdateEvent, 'type' | 'event'>;
@@ -417,12 +530,14 @@ export declare class AgentResultEvent extends HookableEvent {
417
530
  readonly type: "agentResultEvent";
418
531
  readonly agent: LocalAgent;
419
532
  readonly result: AgentResult;
533
+ readonly invocationState: InvocationState;
420
534
  constructor(data: {
421
535
  agent: LocalAgent;
422
536
  result: AgentResult;
537
+ invocationState: InvocationState;
423
538
  });
424
539
  /**
425
- * Serializes for wire transport, excluding the agent reference.
540
+ * Serializes for wire transport, excluding the agent reference and invocationState.
426
541
  * Called automatically by JSON.stringify().
427
542
  */
428
543
  toJSON(): Pick<AgentResultEvent, 'type' | 'result'>;
@@ -432,10 +547,11 @@ export declare class AgentResultEvent extends HookableEvent {
432
547
  * Fired when the model returns tool use blocks that need to be executed.
433
548
  * Hook callbacks can set {@link cancel} to prevent all tools from executing.
434
549
  */
435
- export declare class BeforeToolsEvent extends HookableEvent {
550
+ export declare class BeforeToolsEvent extends HookableEvent implements Interruptible {
436
551
  readonly type: "beforeToolsEvent";
437
552
  readonly agent: LocalAgent;
438
553
  readonly message: Message;
554
+ readonly invocationState: InvocationState;
439
555
  /**
440
556
  * Set by hook callbacks to cancel all tool calls.
441
557
  * When set to `true`, a default cancel message is used.
@@ -445,9 +561,19 @@ export declare class BeforeToolsEvent extends HookableEvent {
445
561
  constructor(data: {
446
562
  agent: LocalAgent;
447
563
  message: Message;
564
+ invocationState: InvocationState;
448
565
  });
449
566
  /**
450
- * Serializes for wire transport, excluding the agent reference and mutable cancel flag.
567
+ * Raises an interrupt for human-in-the-loop workflows.
568
+ * If a response is available (from a previous resume), returns it immediately.
569
+ * Otherwise, throws an InterruptError to halt agent execution.
570
+ *
571
+ * @param params - Interrupt parameters including name and optional reason
572
+ * @returns The user's response when resuming from an interrupt
573
+ */
574
+ interrupt<T = JSONValue>(params: InterruptParams): T;
575
+ /**
576
+ * Serializes for wire transport, excluding the agent reference, invocationState, and mutable cancel flag.
451
577
  * Called automatically by JSON.stringify().
452
578
  */
453
579
  toJSON(): Pick<BeforeToolsEvent, 'type' | 'message'>;
@@ -461,13 +587,29 @@ export declare class AfterToolsEvent extends HookableEvent {
461
587
  readonly type: "afterToolsEvent";
462
588
  readonly agent: LocalAgent;
463
589
  readonly message: Message;
590
+ readonly invocationState: InvocationState;
591
+ /**
592
+ * When set to `true`, the agent loop halts after this tool batch completes
593
+ * without calling the model again and a default message
594
+ * (`"Turn ended early by hook after tool execution"`) is appended as the
595
+ * final assistant message. When set to a string, that string is used instead
596
+ * of the default — the string becomes literal assistant content (a
597
+ * `TextBlock`), not a reason or label. Contrast with
598
+ * {@link BeforeToolCallEvent.cancel | cancel} fields on other events, where
599
+ * the string is a cancellation reason.
600
+ *
601
+ * In both cases `stopReason` on the returned `AgentResult` is `'endTurn'`.
602
+ */
603
+ endTurn: boolean | string;
464
604
  constructor(data: {
465
605
  agent: LocalAgent;
466
606
  message: Message;
607
+ invocationState: InvocationState;
467
608
  });
468
609
  _shouldReverseCallbacks(): boolean;
469
610
  /**
470
- * Serializes for wire transport, excluding the agent reference.
611
+ * Serializes for wire transport, excluding the agent reference, invocationState,
612
+ * and mutable endTurn field.
471
613
  * Called automatically by JSON.stringify().
472
614
  */
473
615
  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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"}