@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,11 +1,13 @@
1
1
  import { ToolStreamEvent } from '../tools/tool.js';
2
+ import { interruptFromAgent } from '../interrupt.js';
2
3
  /**
3
4
  * Agent hook events.
4
5
  *
5
6
  * All events extend {@link StreamEvent} with a `readonly type` discriminator
6
7
  * (camelCase of the class name) for switch-based narrowing. Constructor takes
7
- * a single data-object parameter. All properties are readonly except explicit
8
- * mutable flags (`retry`).
8
+ * a single data-object parameter. Most properties are readonly writable fields
9
+ * are the hook-driven control/data fields documented per event
10
+ * (e.g. `cancel`, `retry`, `selectedTool`, `resume`, and mutable `toolUse` / `result`).
9
11
  *
10
12
  * All current events extend {@link HookableEvent} (which itself extends {@link StreamEvent}),
11
13
  * making them both streamable and subscribable via hook callbacks. {@link StreamEvent} exists
@@ -40,13 +42,29 @@ import { ToolStreamEvent } from '../tools/tool.js';
40
42
  *
41
43
  * ## Field naming conventions
42
44
  *
43
- * | Field | Usage |
44
- * |-----------------|--------------------------------------------------|
45
- * | `agent` | `LocalAgent` reference on all agent-loop events |
46
- * | `.event` | Inner event in update wrappers |
47
- * | `.result` | Finished result object |
48
- * | `.message` | Message object |
49
- * | `.contentBlock` | Content block object |
45
+ * | Field | Usage |
46
+ * |--------------------|--------------------------------------------------|
47
+ * | `agent` | `LocalAgent` reference on all agent-loop events |
48
+ * | `invocationState` | Per-invocation state see below |
49
+ * | `.event` | Inner event in update wrappers |
50
+ * | `.result` | Finished result object |
51
+ * | `.message` | Message object |
52
+ * | `.contentBlock` | Content block object |
53
+ *
54
+ * ## `invocationState` on events
55
+ *
56
+ * Every hookable event that fires **during** an invocation carries
57
+ * {@link InvocationState} — the per-invocation mutable bag shared across hooks
58
+ * and tools. This lets any callback (lifecycle, data, streaming, completion)
59
+ * correlate back to the caller's request context (`userId`, `traceId`, etc.)
60
+ * without closure workarounds.
61
+ *
62
+ * The only events without `invocationState` are the ones that fire **outside**
63
+ * any invocation scope: {@link InitializedEvent} and `MultiAgentInitializedEvent`,
64
+ * both of which fire at construction.
65
+ *
66
+ * New events should follow the same rule: carry `invocationState` unless the
67
+ * event fires before any invocation exists.
50
68
  */
51
69
  /**
52
70
  * Base class for all events yielded by `agent.stream()`.
@@ -96,12 +114,20 @@ export class InitializedEvent extends HookableEvent {
96
114
  export class BeforeInvocationEvent extends HookableEvent {
97
115
  type = 'beforeInvocationEvent';
98
116
  agent;
117
+ invocationState;
118
+ /**
119
+ * Set by hook callbacks to cancel this invocation.
120
+ * When set to `true`, a default cancel message is used.
121
+ * When set to a string, that string is used as the assistant response message.
122
+ */
123
+ cancel = false;
99
124
  constructor(data) {
100
125
  super();
101
126
  this.agent = data.agent;
127
+ this.invocationState = data.invocationState;
102
128
  }
103
129
  /**
104
- * Serializes for wire transport, excluding the agent reference.
130
+ * Serializes for wire transport, excluding the agent reference and invocationState.
105
131
  * Called automatically by JSON.stringify().
106
132
  */
107
133
  toJSON() {
@@ -116,15 +142,28 @@ export class BeforeInvocationEvent extends HookableEvent {
116
142
  export class AfterInvocationEvent extends HookableEvent {
117
143
  type = 'afterInvocationEvent';
118
144
  agent;
145
+ invocationState;
146
+ /**
147
+ * Set by hook callbacks to trigger a follow-up agent invocation with new input.
148
+ * When set, after this event's callbacks complete the agent re-enters its loop
149
+ * with these args as new input, under the same invocation lock. A fresh
150
+ * {@link BeforeInvocationEvent}/{@link AfterInvocationEvent} pair fires for the
151
+ * resumed run. Ignored if the invocation ended with an error.
152
+ *
153
+ * If multiple callbacks set `resume`, the last callback to run wins.
154
+ */
155
+ resume = undefined;
119
156
  constructor(data) {
120
157
  super();
121
158
  this.agent = data.agent;
159
+ this.invocationState = data.invocationState;
122
160
  }
123
161
  _shouldReverseCallbacks() {
124
162
  return true;
125
163
  }
126
164
  /**
127
- * Serializes for wire transport, excluding the agent reference.
165
+ * Serializes for wire transport, excluding the agent reference, invocationState,
166
+ * and mutable resume field.
128
167
  * Called automatically by JSON.stringify().
129
168
  */
130
169
  toJSON() {
@@ -140,13 +179,15 @@ export class MessageAddedEvent extends HookableEvent {
140
179
  type = 'messageAddedEvent';
141
180
  agent;
142
181
  message;
182
+ invocationState;
143
183
  constructor(data) {
144
184
  super();
145
185
  this.agent = data.agent;
146
186
  this.message = data.message;
187
+ this.invocationState = data.invocationState;
147
188
  }
148
189
  /**
149
- * Serializes for wire transport, excluding the agent reference.
190
+ * Serializes for wire transport, excluding the agent reference and invocationState.
150
191
  * Called automatically by JSON.stringify().
151
192
  */
152
193
  toJSON() {
@@ -156,27 +197,57 @@ export class MessageAddedEvent extends HookableEvent {
156
197
  /**
157
198
  * Event triggered just before a tool is executed.
158
199
  * Fired after tool lookup but before execution begins.
159
- * Hook callbacks can set {@link cancel} to prevent the tool from executing.
200
+ *
201
+ * Hook callbacks can:
202
+ * - Set {@link cancel} to prevent the tool from executing.
203
+ * - Set {@link selectedTool} to execute a different tool in place of the registry's match.
204
+ * - Mutate {@link toolUse} to rewrite the tool input, id, or name before execution.
205
+ * If `name` is changed and `selectedTool` is not set, the tool is re-resolved from
206
+ * the registry under the new name.
160
207
  */
161
208
  export class BeforeToolCallEvent extends HookableEvent {
162
209
  type = 'beforeToolCallEvent';
163
210
  agent;
164
211
  toolUse;
165
212
  tool;
213
+ invocationState;
166
214
  /**
167
215
  * Set by hook callbacks to cancel this tool call.
168
216
  * When set to `true`, a default cancel message is used.
169
217
  * When set to a string, that string is used as the tool result error message.
170
218
  */
171
219
  cancel = false;
220
+ /**
221
+ * Set by hook callbacks to execute a replacement tool instead of {@link tool}.
222
+ * When undefined, the tool looked up from the registry (or re-resolved from a
223
+ * mutated `toolUse.name`) is used.
224
+ *
225
+ * If multiple callbacks set `selectedTool`, the last callback to run wins.
226
+ * Callbacks run in registration order for this event, so the last-registered
227
+ * callback's value is the one used.
228
+ */
229
+ selectedTool = undefined;
172
230
  constructor(data) {
173
231
  super();
174
232
  this.agent = data.agent;
175
233
  this.toolUse = data.toolUse;
176
234
  this.tool = data.tool;
235
+ this.invocationState = data.invocationState;
236
+ }
237
+ /**
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(params) {
246
+ return interruptFromAgent(this.agent, `hook:beforeToolCall:${this.toolUse.toolUseId}:${params.name}`, params);
177
247
  }
178
248
  /**
179
- * Serializes for wire transport, excluding the agent reference, tool instance, and mutable cancel flag.
249
+ * Serializes for wire transport, excluding the agent reference, tool instance,
250
+ * invocationState, and mutable cancel / selectedTool fields.
180
251
  * Called automatically by JSON.stringify().
181
252
  */
182
253
  toJSON() {
@@ -187,14 +258,22 @@ export class BeforeToolCallEvent extends HookableEvent {
187
258
  * Event triggered after a tool execution completes.
188
259
  * Fired after tool execution finishes, whether successful or failed.
189
260
  * Uses reverse callback ordering for proper cleanup semantics.
261
+ *
262
+ * Hook callbacks can mutate {@link result} to rewrite the tool result before it
263
+ * propagates to the model (e.g. to redact or truncate output).
190
264
  */
191
265
  export class AfterToolCallEvent extends HookableEvent {
192
266
  type = 'afterToolCallEvent';
193
267
  agent;
194
268
  toolUse;
195
269
  tool;
270
+ /**
271
+ * The tool result. Can be replaced by hook callbacks to transform the result
272
+ * before it enters the conversation history.
273
+ */
196
274
  result;
197
275
  error;
276
+ invocationState;
198
277
  /**
199
278
  * Optional flag that can be set by hook callbacks to request a retry of the tool call.
200
279
  * When set to true, the agent will re-execute the tool.
@@ -206,6 +285,7 @@ export class AfterToolCallEvent extends HookableEvent {
206
285
  this.toolUse = data.toolUse;
207
286
  this.tool = data.tool;
208
287
  this.result = data.result;
288
+ this.invocationState = data.invocationState;
209
289
  if (data.error !== undefined) {
210
290
  this.error = data.error;
211
291
  }
@@ -214,7 +294,7 @@ export class AfterToolCallEvent extends HookableEvent {
214
294
  return true;
215
295
  }
216
296
  /**
217
- * Serializes for wire transport, excluding the agent reference, tool instance, and mutable retry flag.
297
+ * Serializes for wire transport, excluding the agent reference, tool instance, invocationState, and mutable retry flag.
218
298
  * Converts Error to an extensible object for safe wire serialization.
219
299
  * Called automatically by JSON.stringify().
220
300
  */
@@ -235,17 +315,38 @@ export class BeforeModelCallEvent extends HookableEvent {
235
315
  type = 'beforeModelCallEvent';
236
316
  agent;
237
317
  model;
318
+ invocationState;
319
+ /**
320
+ * Set by hook callbacks to cancel this model call.
321
+ * When set to `true`, a default cancel message is used.
322
+ * When set to a string, that string is used as the assistant response message.
323
+ */
324
+ cancel = false;
325
+ /**
326
+ * Projected input token count for the upcoming model call.
327
+ * Computed by the agent loop from message metadata and token estimation.
328
+ * Available for hooks and plugins (e.g. conversation managers) to make
329
+ * proactive decisions about context management.
330
+ */
331
+ projectedInputTokens;
238
332
  constructor(data) {
239
333
  super();
240
334
  this.agent = data.agent;
241
335
  this.model = data.model;
336
+ this.invocationState = data.invocationState;
337
+ if (data.projectedInputTokens !== undefined) {
338
+ this.projectedInputTokens = data.projectedInputTokens;
339
+ }
242
340
  }
243
341
  /**
244
- * Serializes for wire transport, excluding the agent reference.
342
+ * Serializes for wire transport, excluding the agent reference and invocationState.
245
343
  * Called automatically by JSON.stringify().
246
344
  */
247
345
  toJSON() {
248
- return { type: this.type };
346
+ return {
347
+ type: this.type,
348
+ ...(this.projectedInputTokens !== undefined && { projectedInputTokens: this.projectedInputTokens }),
349
+ };
249
350
  }
250
351
  }
251
352
  /**
@@ -261,6 +362,17 @@ export class AfterModelCallEvent extends HookableEvent {
261
362
  model;
262
363
  stopData;
263
364
  error;
365
+ invocationState;
366
+ /**
367
+ * 1-indexed count of model attempts for this turn, including the attempt
368
+ * that just completed (or failed). The first call in a turn is `1`; each
369
+ * subsequent retry increments by one.
370
+ *
371
+ * Retry strategies may rely on `attemptCount === 1` to mark the start of a
372
+ * new retry sequence (e.g. to clear per-turn state carried over from a
373
+ * previous turn). The agent loop guarantees this marker on every fresh turn.
374
+ */
375
+ attemptCount;
264
376
  /**
265
377
  * Optional flag that can be set by hook callbacks to request a retry of the model call.
266
378
  * When set to true, the agent will retry the model invocation.
@@ -270,6 +382,8 @@ export class AfterModelCallEvent extends HookableEvent {
270
382
  super();
271
383
  this.agent = data.agent;
272
384
  this.model = data.model;
385
+ this.invocationState = data.invocationState;
386
+ this.attemptCount = data.attemptCount;
273
387
  if (data.stopData !== undefined) {
274
388
  this.stopData = data.stopData;
275
389
  }
@@ -281,13 +395,14 @@ export class AfterModelCallEvent extends HookableEvent {
281
395
  return true;
282
396
  }
283
397
  /**
284
- * Serializes for wire transport, excluding the agent reference and mutable retry flag.
398
+ * Serializes for wire transport, excluding the agent reference, invocationState, and mutable retry flag.
285
399
  * Converts Error to an extensible object for safe wire serialization.
286
400
  * Called automatically by JSON.stringify().
287
401
  */
288
402
  toJSON() {
289
403
  return {
290
404
  type: this.type,
405
+ attemptCount: this.attemptCount,
291
406
  ...(this.stopData !== undefined && { stopData: this.stopData }),
292
407
  ...(this.error !== undefined && { error: { message: this.error.message } }),
293
408
  };
@@ -303,13 +418,15 @@ export class ModelStreamUpdateEvent extends HookableEvent {
303
418
  type = 'modelStreamUpdateEvent';
304
419
  agent;
305
420
  event;
421
+ invocationState;
306
422
  constructor(data) {
307
423
  super();
308
424
  this.agent = data.agent;
309
425
  this.event = data.event;
426
+ this.invocationState = data.invocationState;
310
427
  }
311
428
  /**
312
- * Serializes for wire transport, excluding the agent reference.
429
+ * Serializes for wire transport, excluding the agent reference and invocationState.
313
430
  * Called automatically by JSON.stringify().
314
431
  */
315
432
  toJSON() {
@@ -330,13 +447,15 @@ export class ContentBlockEvent extends HookableEvent {
330
447
  type = 'contentBlockEvent';
331
448
  agent;
332
449
  contentBlock;
450
+ invocationState;
333
451
  constructor(data) {
334
452
  super();
335
453
  this.agent = data.agent;
336
454
  this.contentBlock = data.contentBlock;
455
+ this.invocationState = data.invocationState;
337
456
  }
338
457
  /**
339
- * Serializes for wire transport, excluding the agent reference.
458
+ * Serializes for wire transport, excluding the agent reference and invocationState.
340
459
  * Called automatically by JSON.stringify().
341
460
  */
342
461
  toJSON() {
@@ -352,14 +471,16 @@ export class ModelMessageEvent extends HookableEvent {
352
471
  agent;
353
472
  message;
354
473
  stopReason;
474
+ invocationState;
355
475
  constructor(data) {
356
476
  super();
357
477
  this.agent = data.agent;
358
478
  this.message = data.message;
359
479
  this.stopReason = data.stopReason;
480
+ this.invocationState = data.invocationState;
360
481
  }
361
482
  /**
362
- * Serializes for wire transport, excluding the agent reference.
483
+ * Serializes for wire transport, excluding the agent reference and invocationState.
363
484
  * Called automatically by JSON.stringify().
364
485
  */
365
486
  toJSON() {
@@ -374,13 +495,15 @@ export class ToolResultEvent extends HookableEvent {
374
495
  type = 'toolResultEvent';
375
496
  agent;
376
497
  result;
498
+ invocationState;
377
499
  constructor(data) {
378
500
  super();
379
501
  this.agent = data.agent;
380
502
  this.result = data.result;
503
+ this.invocationState = data.invocationState;
381
504
  }
382
505
  /**
383
- * Serializes for wire transport, excluding the agent reference.
506
+ * Serializes for wire transport, excluding the agent reference and invocationState.
384
507
  * Called automatically by JSON.stringify().
385
508
  */
386
509
  toJSON() {
@@ -400,13 +523,15 @@ export class ToolStreamUpdateEvent extends HookableEvent {
400
523
  type = 'toolStreamUpdateEvent';
401
524
  agent;
402
525
  event;
526
+ invocationState;
403
527
  constructor(data) {
404
528
  super();
405
529
  this.agent = data.agent;
406
530
  this.event = data.event;
531
+ this.invocationState = data.invocationState;
407
532
  }
408
533
  /**
409
- * Serializes for wire transport, excluding the agent reference.
534
+ * Serializes for wire transport, excluding the agent reference and invocationState.
410
535
  * Called automatically by JSON.stringify().
411
536
  */
412
537
  toJSON() {
@@ -421,13 +546,15 @@ export class AgentResultEvent extends HookableEvent {
421
546
  type = 'agentResultEvent';
422
547
  agent;
423
548
  result;
549
+ invocationState;
424
550
  constructor(data) {
425
551
  super();
426
552
  this.agent = data.agent;
427
553
  this.result = data.result;
554
+ this.invocationState = data.invocationState;
428
555
  }
429
556
  /**
430
- * Serializes for wire transport, excluding the agent reference.
557
+ * Serializes for wire transport, excluding the agent reference and invocationState.
431
558
  * Called automatically by JSON.stringify().
432
559
  */
433
560
  toJSON() {
@@ -443,6 +570,7 @@ export class BeforeToolsEvent extends HookableEvent {
443
570
  type = 'beforeToolsEvent';
444
571
  agent;
445
572
  message;
573
+ invocationState;
446
574
  /**
447
575
  * Set by hook callbacks to cancel all tool calls.
448
576
  * When set to `true`, a default cancel message is used.
@@ -453,9 +581,21 @@ export class BeforeToolsEvent extends HookableEvent {
453
581
  super();
454
582
  this.agent = data.agent;
455
583
  this.message = data.message;
584
+ this.invocationState = data.invocationState;
456
585
  }
457
586
  /**
458
- * Serializes for wire transport, excluding the agent reference and mutable cancel flag.
587
+ * Raises an interrupt for human-in-the-loop workflows.
588
+ * If a response is available (from a previous resume), returns it immediately.
589
+ * Otherwise, throws an InterruptError to halt agent execution.
590
+ *
591
+ * @param params - Interrupt parameters including name and optional reason
592
+ * @returns The user's response when resuming from an interrupt
593
+ */
594
+ interrupt(params) {
595
+ return interruptFromAgent(this.agent, `hook:beforeTools:${params.name}`, params);
596
+ }
597
+ /**
598
+ * Serializes for wire transport, excluding the agent reference, invocationState, and mutable cancel flag.
459
599
  * Called automatically by JSON.stringify().
460
600
  */
461
601
  toJSON() {
@@ -471,16 +611,32 @@ export class AfterToolsEvent extends HookableEvent {
471
611
  type = 'afterToolsEvent';
472
612
  agent;
473
613
  message;
614
+ invocationState;
615
+ /**
616
+ * When set to `true`, the agent loop halts after this tool batch completes
617
+ * without calling the model again and a default message
618
+ * (`"Turn ended early by hook after tool execution"`) is appended as the
619
+ * final assistant message. When set to a string, that string is used instead
620
+ * of the default — the string becomes literal assistant content (a
621
+ * `TextBlock`), not a reason or label. Contrast with
622
+ * {@link BeforeToolCallEvent.cancel | cancel} fields on other events, where
623
+ * the string is a cancellation reason.
624
+ *
625
+ * In both cases `stopReason` on the returned `AgentResult` is `'endTurn'`.
626
+ */
627
+ endTurn = false;
474
628
  constructor(data) {
475
629
  super();
476
630
  this.agent = data.agent;
477
631
  this.message = data.message;
632
+ this.invocationState = data.invocationState;
478
633
  }
479
634
  _shouldReverseCallbacks() {
480
635
  return true;
481
636
  }
482
637
  /**
483
- * Serializes for wire transport, excluding the agent reference.
638
+ * Serializes for wire transport, excluding the agent reference, invocationState,
639
+ * and mutable endTurn field.
484
640
  * Called automatically by JSON.stringify().
485
641
  */
486
642
  toJSON() {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/hooks/events.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@
13
13
  * Named `Hook*` because they describe the hooking/subscription pattern, not the events themselves.
14
14
  */
15
15
  export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
16
- export type { ModelStopData as ModelStopResponse, Redaction } from './events.js';
16
+ export type { ModelStopData as ModelStopResponse, Redaction, ToolUseData } from './events.js';
17
17
  export { HookRegistryImplementation as HookRegistry } from './registry.js';
18
- export type { HookCallback, HookableEventConstructor, HookCleanup } from './types.js';
18
+ export type { HookCallback, HookableEventConstructor, HookCallbackOptions, HookCleanup } from './types.js';
19
+ export { HookOrder } from './types.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGhF,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1E,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG7F,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAG1E,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
@@ -16,4 +16,5 @@
16
16
  export { StreamEvent, HookableEvent, InitializedEvent, BeforeInvocationEvent, AfterInvocationEvent, MessageAddedEvent, BeforeToolCallEvent, AfterToolCallEvent, BeforeModelCallEvent, AfterModelCallEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, ToolStreamUpdateEvent, AgentResultEvent, BeforeToolsEvent, AfterToolsEvent, } from './events.js';
17
17
  // Registry
18
18
  export { HookRegistryImplementation as HookRegistry } from './registry.js';
19
+ export { HookOrder } from './types.js';
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAKpB,WAAW;AACX,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gBAAgB;AAChB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,aAAa,CAAA;AAKpB,WAAW;AACX,OAAO,EAAE,0BAA0B,IAAI,YAAY,EAAE,MAAM,eAAe,CAAA;AAI1E,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { HookableEvent } from './events.js';
2
- import type { HookCallback, HookableEventConstructor, HookCleanup } from './types.js';
2
+ import type { HookCallback, HookableEventConstructor, HookCallbackOptions, HookCleanup } from './types.js';
3
3
  /**
4
4
  * Interface for hook registry operations.
5
5
  * Enables registration of hook callbacks for event-driven extensibility.
@@ -10,9 +10,10 @@ export interface HookRegistry {
10
10
  *
11
11
  * @param eventType - The event class constructor to register the callback for
12
12
  * @param callback - The callback function to invoke when the event occurs
13
+ * @param options - Optional configuration including execution order
13
14
  * @returns Cleanup function that removes the callback when invoked
14
15
  */
15
- addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>): HookCleanup;
16
+ addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>, options?: HookCallbackOptions): HookCleanup;
16
17
  }
17
18
  /**
18
19
  * Implementation of the hook registry for managing hook callbacks.
@@ -21,25 +22,24 @@ export interface HookRegistry {
21
22
  export declare class HookRegistryImplementation implements HookRegistry {
22
23
  private readonly _callbacks;
23
24
  constructor();
24
- /**
25
- * Register a callback function for a specific event type.
26
- *
27
- * @param eventType - The event class constructor to register the callback for
28
- * @param callback - The callback function to invoke when the event occurs
29
- * @returns Cleanup function that removes the callback when invoked
30
- */
31
- addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>): HookCleanup;
25
+ /** {@inheritDoc HookRegistry.addCallback} */
26
+ addCallback<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>, options?: HookCallbackOptions): HookCleanup;
32
27
  /**
33
28
  * Invoke all registered callbacks for the given event.
34
29
  * Awaits each callback, supporting both sync and async.
35
30
  *
31
+ * InterruptErrors are collected across callbacks rather than immediately thrown,
32
+ * allowing all hooks to register their interrupts. Non-interrupt errors propagate immediately.
33
+ *
36
34
  * @param event - The event to invoke callbacks for
37
35
  * @returns The event after all callbacks have been invoked
36
+ * @throws InterruptError with all collected interrupts after all callbacks complete
38
37
  */
39
38
  invokeCallbacks<T extends HookableEvent>(event: T): Promise<T>;
40
39
  /**
41
- * Get callbacks for a specific event with proper ordering.
42
- * Returns callbacks in reverse order if event should reverse callbacks.
40
+ * Get callbacks for a specific event in order.
41
+ * For After* events, reverses then re-sorts by order so that lower order
42
+ * still runs first, but same-order hooks run in reverse registration order.
43
43
  *
44
44
  * @param event - The event to get callbacks for
45
45
  * @returns Array of callbacks for the event
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AASrF;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW,CAAA;CACrH;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;;IAM3E;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,WAAW;IAgBpH;;;;;;OAMG;IACG,eAAe,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQpE;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;CAKxB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/hooks/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAW1G;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW,CAAA;CACf;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,YAAY;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;;IAM3E,6CAA6C;IAC7C,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,SAAS,EAAE,wBAAwB,CAAC,CAAC,CAAC,EACtC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,WAAW;IAyBd;;;;;;;;;;OAUG;IACG,eAAe,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmCpE;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CAQxB"}