@strands-agents/sdk 1.2.0 → 1.4.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 (231) hide show
  1. package/README.md +13 -13
  2. package/dist/src/__fixtures__/test-sandbox.node.d.ts +15 -0
  3. package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +1 -0
  4. package/dist/src/__fixtures__/test-sandbox.node.js +22 -0
  5. package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -0
  6. package/dist/src/__tests__/mcp.test.js +14 -14
  7. package/dist/src/__tests__/mcp.test.js.map +1 -1
  8. package/dist/src/agent/__tests__/agent.test.js +195 -0
  9. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  10. package/dist/src/agent/__tests__/printer.test.js +58 -18
  11. package/dist/src/agent/__tests__/printer.test.js.map +1 -1
  12. package/dist/src/agent/__tests__/tool-caller.test.d.ts +2 -0
  13. package/dist/src/agent/__tests__/tool-caller.test.d.ts.map +1 -0
  14. package/dist/src/agent/__tests__/tool-caller.test.js +459 -0
  15. package/dist/src/agent/__tests__/tool-caller.test.js.map +1 -0
  16. package/dist/src/agent/agent.d.ts +68 -2
  17. package/dist/src/agent/agent.d.ts.map +1 -1
  18. package/dist/src/agent/agent.js +125 -66
  19. package/dist/src/agent/agent.js.map +1 -1
  20. package/dist/src/agent/printer.d.ts +14 -1
  21. package/dist/src/agent/printer.d.ts.map +1 -1
  22. package/dist/src/agent/printer.js +33 -5
  23. package/dist/src/agent/printer.js.map +1 -1
  24. package/dist/src/agent/tool-caller.d.ts +149 -0
  25. package/dist/src/agent/tool-caller.d.ts.map +1 -0
  26. package/dist/src/agent/tool-caller.js +198 -0
  27. package/dist/src/agent/tool-caller.js.map +1 -0
  28. package/dist/src/errors.d.ts +17 -0
  29. package/dist/src/errors.d.ts.map +1 -1
  30. package/dist/src/errors.js +21 -0
  31. package/dist/src/errors.js.map +1 -1
  32. package/dist/src/hooks/types.d.ts +2 -0
  33. package/dist/src/hooks/types.d.ts.map +1 -1
  34. package/dist/src/hooks/types.js +2 -0
  35. package/dist/src/hooks/types.js.map +1 -1
  36. package/dist/src/index.d.ts +10 -3
  37. package/dist/src/index.d.ts.map +1 -1
  38. package/dist/src/index.js +6 -1
  39. package/dist/src/index.js.map +1 -1
  40. package/dist/src/interventions/__tests__/handler.test.d.ts +2 -0
  41. package/dist/src/interventions/__tests__/handler.test.d.ts.map +1 -0
  42. package/dist/src/interventions/__tests__/handler.test.js +35 -0
  43. package/dist/src/interventions/__tests__/handler.test.js.map +1 -0
  44. package/dist/src/interventions/__tests__/registry.test.d.ts +2 -0
  45. package/dist/src/interventions/__tests__/registry.test.d.ts.map +1 -0
  46. package/dist/src/interventions/__tests__/registry.test.js +692 -0
  47. package/dist/src/interventions/__tests__/registry.test.js.map +1 -0
  48. package/dist/src/interventions/actions.d.ts +186 -0
  49. package/dist/src/interventions/actions.d.ts.map +1 -0
  50. package/dist/src/interventions/actions.js +56 -0
  51. package/dist/src/interventions/actions.js.map +1 -0
  52. package/dist/src/interventions/handler.d.ts +43 -0
  53. package/dist/src/interventions/handler.d.ts.map +1 -0
  54. package/dist/src/interventions/handler.js +41 -0
  55. package/dist/src/interventions/handler.js.map +1 -0
  56. package/dist/src/interventions/index.d.ts +12 -0
  57. package/dist/src/interventions/index.d.ts.map +1 -0
  58. package/dist/src/interventions/index.js +4 -0
  59. package/dist/src/interventions/index.js.map +1 -0
  60. package/dist/src/interventions/registry.d.ts +36 -0
  61. package/dist/src/interventions/registry.d.ts.map +1 -0
  62. package/dist/src/interventions/registry.js +252 -0
  63. package/dist/src/interventions/registry.js.map +1 -0
  64. package/dist/src/mcp.d.ts +20 -15
  65. package/dist/src/mcp.d.ts.map +1 -1
  66. package/dist/src/mcp.js +15 -8
  67. package/dist/src/mcp.js.map +1 -1
  68. package/dist/src/models/__tests__/anthropic.test.js +72 -8
  69. package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
  70. package/dist/src/models/__tests__/bedrock.test.js +142 -0
  71. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  72. package/dist/src/models/anthropic.d.ts +10 -0
  73. package/dist/src/models/anthropic.d.ts.map +1 -1
  74. package/dist/src/models/anthropic.js +24 -8
  75. package/dist/src/models/anthropic.js.map +1 -1
  76. package/dist/src/models/bedrock.d.ts +26 -1
  77. package/dist/src/models/bedrock.d.ts.map +1 -1
  78. package/dist/src/models/bedrock.js +22 -4
  79. package/dist/src/models/bedrock.js.map +1 -1
  80. package/dist/src/models/openai/__tests__/chat.test.js +2 -10
  81. package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
  82. package/dist/src/models/openai/__tests__/errors.test.d.ts +2 -0
  83. package/dist/src/models/openai/__tests__/errors.test.d.ts.map +1 -0
  84. package/dist/src/models/openai/__tests__/errors.test.js +30 -0
  85. package/dist/src/models/openai/__tests__/errors.test.js.map +1 -0
  86. package/dist/src/models/openai/__tests__/mantle.test.d.ts +2 -0
  87. package/dist/src/models/openai/__tests__/mantle.test.d.ts.map +1 -0
  88. package/dist/src/models/openai/__tests__/mantle.test.js +189 -0
  89. package/dist/src/models/openai/__tests__/mantle.test.js.map +1 -0
  90. package/dist/src/models/openai/__tests__/responses.test.js +0 -19
  91. package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
  92. package/dist/src/models/openai/errors.d.ts.map +1 -1
  93. package/dist/src/models/openai/errors.js +5 -3
  94. package/dist/src/models/openai/errors.js.map +1 -1
  95. package/dist/src/models/openai/index.d.ts +1 -0
  96. package/dist/src/models/openai/index.d.ts.map +1 -1
  97. package/dist/src/models/openai/mantle.d.ts +77 -0
  98. package/dist/src/models/openai/mantle.d.ts.map +1 -0
  99. package/dist/src/models/openai/mantle.js +83 -0
  100. package/dist/src/models/openai/mantle.js.map +1 -0
  101. package/dist/src/models/openai/model.d.ts.map +1 -1
  102. package/dist/src/models/openai/model.js +29 -1
  103. package/dist/src/models/openai/model.js.map +1 -1
  104. package/dist/src/models/openai/types.d.ts +11 -0
  105. package/dist/src/models/openai/types.d.ts.map +1 -1
  106. package/dist/src/multiagent/__tests__/nodes.test.js +50 -0
  107. package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
  108. package/dist/src/multiagent/nodes.d.ts +23 -2
  109. package/dist/src/multiagent/nodes.d.ts.map +1 -1
  110. package/dist/src/multiagent/nodes.js +18 -4
  111. package/dist/src/multiagent/nodes.js.map +1 -1
  112. package/dist/src/registry/__tests__/tool-registry.test.js +50 -1
  113. package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
  114. package/dist/src/registry/tool-registry.d.ts +13 -0
  115. package/dist/src/registry/tool-registry.d.ts.map +1 -1
  116. package/dist/src/registry/tool-registry.js +35 -1
  117. package/dist/src/registry/tool-registry.js.map +1 -1
  118. package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts +2 -0
  119. package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts.map +1 -0
  120. package/dist/src/sandbox/__tests__/posix-shell.test.node.js +252 -0
  121. package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -0
  122. package/dist/src/sandbox/base.d.ts +138 -0
  123. package/dist/src/sandbox/base.d.ts.map +1 -0
  124. package/dist/src/sandbox/base.js +84 -0
  125. package/dist/src/sandbox/base.js.map +1 -0
  126. package/dist/src/sandbox/constants.d.ts +7 -0
  127. package/dist/src/sandbox/constants.d.ts.map +1 -0
  128. package/dist/src/sandbox/constants.js +7 -0
  129. package/dist/src/sandbox/constants.js.map +1 -0
  130. package/dist/src/sandbox/posix-shell.d.ts +32 -0
  131. package/dist/src/sandbox/posix-shell.d.ts.map +1 -0
  132. package/dist/src/sandbox/posix-shell.js +78 -0
  133. package/dist/src/sandbox/posix-shell.js.map +1 -0
  134. package/dist/src/sandbox/stream-process.d.ts +32 -0
  135. package/dist/src/sandbox/stream-process.d.ts.map +1 -0
  136. package/dist/src/sandbox/stream-process.js +160 -0
  137. package/dist/src/sandbox/stream-process.js.map +1 -0
  138. package/dist/src/sandbox/types.d.ts +57 -0
  139. package/dist/src/sandbox/types.d.ts.map +1 -0
  140. package/dist/src/sandbox/types.js +8 -0
  141. package/dist/src/sandbox/types.js.map +1 -0
  142. package/dist/src/telemetry/__tests__/meter.test.js +11 -0
  143. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  144. package/dist/src/telemetry/meter.d.ts +10 -6
  145. package/dist/src/telemetry/meter.d.ts.map +1 -1
  146. package/dist/src/telemetry/meter.js +16 -3
  147. package/dist/src/telemetry/meter.js.map +1 -1
  148. package/dist/src/tsconfig.tsbuildinfo +1 -1
  149. package/dist/src/types/__tests__/messages.test.js +28 -0
  150. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  151. package/dist/src/types/agent.d.ts +51 -0
  152. package/dist/src/types/agent.d.ts.map +1 -1
  153. package/dist/src/types/agent.js.map +1 -1
  154. package/dist/src/types/lifecycle-observer.d.ts +18 -0
  155. package/dist/src/types/lifecycle-observer.d.ts.map +1 -0
  156. package/dist/src/types/lifecycle-observer.js +2 -0
  157. package/dist/src/types/lifecycle-observer.js.map +1 -0
  158. package/dist/src/types/messages.d.ts +20 -2
  159. package/dist/src/types/messages.d.ts.map +1 -1
  160. package/dist/src/types/messages.js +9 -0
  161. package/dist/src/types/messages.js.map +1 -1
  162. package/dist/src/utils/shell-quote.d.ts +12 -0
  163. package/dist/src/utils/shell-quote.d.ts.map +1 -0
  164. package/dist/src/utils/shell-quote.js +14 -0
  165. package/dist/src/utils/shell-quote.js.map +1 -0
  166. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts +2 -0
  167. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts.map +1 -0
  168. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js +358 -0
  169. package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js.map +1 -0
  170. package/dist/src/vended-interventions/hitl/hitl.d.ts +115 -0
  171. package/dist/src/vended-interventions/hitl/hitl.d.ts.map +1 -0
  172. package/dist/src/vended-interventions/hitl/hitl.js +138 -0
  173. package/dist/src/vended-interventions/hitl/hitl.js.map +1 -0
  174. package/dist/src/vended-interventions/hitl/index.d.ts +24 -0
  175. package/dist/src/vended-interventions/hitl/index.d.ts.map +1 -0
  176. package/dist/src/vended-interventions/hitl/index.js +23 -0
  177. package/dist/src/vended-interventions/hitl/index.js.map +1 -0
  178. package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts +2 -0
  179. package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts.map +1 -0
  180. package/dist/src/vended-interventions/steering/__tests__/handler.test.js +163 -0
  181. package/dist/src/vended-interventions/steering/__tests__/handler.test.js.map +1 -0
  182. package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts +2 -0
  183. package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts.map +1 -0
  184. package/dist/src/vended-interventions/steering/__tests__/llm.test.js +60 -0
  185. package/dist/src/vended-interventions/steering/__tests__/llm.test.js.map +1 -0
  186. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts +2 -0
  187. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts.map +1 -0
  188. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js +94 -0
  189. package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js.map +1 -0
  190. package/dist/src/vended-interventions/steering/handlers/handler.d.ts +64 -0
  191. package/dist/src/vended-interventions/steering/handlers/handler.d.ts.map +1 -0
  192. package/dist/src/vended-interventions/steering/handlers/handler.js +71 -0
  193. package/dist/src/vended-interventions/steering/handlers/handler.js.map +1 -0
  194. package/dist/src/vended-interventions/steering/handlers/llm.d.ts +72 -0
  195. package/dist/src/vended-interventions/steering/handlers/llm.d.ts.map +1 -0
  196. package/dist/src/vended-interventions/steering/handlers/llm.js +177 -0
  197. package/dist/src/vended-interventions/steering/handlers/llm.js.map +1 -0
  198. package/dist/src/vended-interventions/steering/index.d.ts +31 -0
  199. package/dist/src/vended-interventions/steering/index.d.ts.map +1 -0
  200. package/dist/src/vended-interventions/steering/index.js +32 -0
  201. package/dist/src/vended-interventions/steering/index.js.map +1 -0
  202. package/dist/src/vended-interventions/steering/providers/context-provider.d.ts +55 -0
  203. package/dist/src/vended-interventions/steering/providers/context-provider.d.ts.map +1 -0
  204. package/dist/src/vended-interventions/steering/providers/context-provider.js +8 -0
  205. package/dist/src/vended-interventions/steering/providers/context-provider.js.map +1 -0
  206. package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts +49 -0
  207. package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts.map +1 -0
  208. package/dist/src/vended-interventions/steering/providers/tool-ledger.js +75 -0
  209. package/dist/src/vended-interventions/steering/providers/tool-ledger.js.map +1 -0
  210. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +208 -0
  211. package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
  212. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts +2 -0
  213. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts.map +1 -0
  214. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js +149 -0
  215. package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js.map +1 -0
  216. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  217. package/dist/src/vended-plugins/context-offloader/plugin.js +57 -10
  218. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  219. package/dist/src/vended-plugins/context-offloader/search.d.ts +25 -0
  220. package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -0
  221. package/dist/src/vended-plugins/context-offloader/search.js +120 -0
  222. package/dist/src/vended-plugins/context-offloader/search.js.map +1 -0
  223. package/dist/src/vended-plugins/index.d.ts +11 -0
  224. package/dist/src/vended-plugins/index.d.ts.map +1 -0
  225. package/dist/src/vended-plugins/index.js +11 -0
  226. package/dist/src/vended-plugins/index.js.map +1 -0
  227. package/dist/src/vended-tools/index.d.ts +17 -0
  228. package/dist/src/vended-tools/index.d.ts.map +1 -0
  229. package/dist/src/vended-tools/index.js +17 -0
  230. package/dist/src/vended-tools/index.js.map +1 -0
  231. package/package.json +37 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-caller.test.js","sourceRoot":"","sources":["../../../../src/agent/__tests__/tool-caller.test.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,12 @@ import type { BaseModelConfig } from '../models/model.js';
8
8
  import { ToolRegistry } from '../registry/tool-registry.js';
9
9
  import { StateStore } from '../state-store.js';
10
10
  import type { Plugin } from '../plugins/plugin.js';
11
+ import type { InterventionHandler } from '../interventions/handler.js';
11
12
  import { ConversationManager } from '../conversation-manager/conversation-manager.js';
12
13
  import type { HookableEventConstructor, HookCallback, HookCallbackOptions, HookCleanup } from '../hooks/types.js';
13
14
  import { HookableEvent } from '../hooks/events.js';
14
15
  import type { AgentAsToolOptions } from './agent-as-tool.js';
16
+ import type { ToolCallerProxy } from './tool-caller.js';
15
17
  import type { z } from 'zod';
16
18
  import { SessionManager } from '../session/session-manager.js';
17
19
  import type { AttributeValue } from '@opentelemetry/api';
@@ -114,6 +116,10 @@ export type AgentConfig = {
114
116
  * - `null` or `[]`: retries are explicitly disabled; failures propagate to the caller.
115
117
  */
116
118
  retryStrategy?: RetryStrategy | RetryStrategy[] | null;
119
+ /**
120
+ * Intervention handlers evaluated in registration order at each lifecycle point.
121
+ */
122
+ interventions?: InterventionHandler[];
117
123
  /**
118
124
  * Zod schema for structured output validation.
119
125
  */
@@ -196,6 +202,7 @@ export declare class Agent implements LocalAgent, InvokableAgent {
196
202
  readonly sessionManager?: SessionManager | undefined;
197
203
  private readonly _hooksRegistry;
198
204
  private readonly _pluginRegistry;
205
+ private readonly _interventionRegistry;
199
206
  private _toolRegistry;
200
207
  private _mcpClients;
201
208
  private _initialized;
@@ -212,6 +219,8 @@ export declare class Agent implements LocalAgent, InvokableAgent {
212
219
  _interruptState: InterruptState;
213
220
  /** Strategy for executing tool calls from a single assistant turn. */
214
221
  private readonly _toolExecutor;
222
+ /** Direct tool caller — created via {@link ToolCaller.create} factory. */
223
+ private readonly _toolCaller;
215
224
  /**
216
225
  * Creates an instance of the Agent.
217
226
  * @param config - The configuration for the agent.
@@ -240,8 +249,8 @@ export declare class Agent implements LocalAgent, InvokableAgent {
240
249
  addHook<T extends HookableEvent>(eventType: HookableEventConstructor<T>, callback: HookCallback<T>, options?: HookCallbackOptions): HookCleanup;
241
250
  initialize(): Promise<void>;
242
251
  /**
243
- * Acquires a lock to prevent concurrent invocations.
244
- * Returns a Disposable that releases the lock when disposed.
252
+ * Acquires the invocation lock. Throws if an invocation is already in progress.
253
+ * Callers must release via try/finally with `this._isInvoking = false`.
245
254
  */
246
255
  private acquireLock;
247
256
  /**
@@ -249,6 +258,33 @@ export declare class Agent implements LocalAgent, InvokableAgent {
249
258
  * Called at cancellation checkpoints within the agent loop.
250
259
  */
251
260
  private _throwIfCancelled;
261
+ /**
262
+ * Validates the per-invocation budget caps in {@link InvokeOptions.limits}.
263
+ * Called once at the top of `_stream` so bad inputs fail fast with a clear
264
+ * error instead of silently no-op'ing (`NaN`, `Infinity`) or tripping
265
+ * pathologically (zero swallows the user input; negative trips immediately).
266
+ *
267
+ * Each cap, when set, must be a positive finite number. Fractional values
268
+ * are accepted — harmless, and useful for token budgets derived from
269
+ * arithmetic.
270
+ */
271
+ private _validateLimits;
272
+ /**
273
+ * Evaluates the per-invocation budget caps in {@link InvokeOptions.limits}
274
+ * against the current invocation's metrics. Called at the top of each
275
+ * agent-loop iteration, after `_throwIfCancelled` and before `startCycle`.
276
+ *
277
+ * Reads from {@link AgentMetrics.latestAgentInvocation} (scoped to the
278
+ * current invocation) — not `cycleCount` / `accumulatedUsage`, which are
279
+ * lifetime accumulators that would cause caps to fire prematurely on the
280
+ * second `invoke()` call against a reused agent.
281
+ *
282
+ * Priority on simultaneous trip: turns → totalTokens → outputTokens.
283
+ *
284
+ * Returns the {@link StopReason} the loop should terminate with, or
285
+ * `undefined` if every configured cap is still within budget.
286
+ */
287
+ private _checkLimits;
252
288
  /**
253
289
  * The tools this agent can use.
254
290
  */
@@ -257,6 +293,28 @@ export declare class Agent implements LocalAgent, InvokableAgent {
257
293
  * The tool registry for managing the agent's tools.
258
294
  */
259
295
  get toolRegistry(): ToolRegistry;
296
+ /**
297
+ * Whether the agent is currently processing an invocation.
298
+ */
299
+ get isInvoking(): boolean;
300
+ /**
301
+ * Direct tool calling accessor.
302
+ *
303
+ * Returns a proxy where each property is a {@link ToolHandle} with
304
+ * `.invoke()` and `.stream()` methods:
305
+ * ```typescript
306
+ * const result = await agent.tool.calculator!.invoke({ a: 5, b: 3 })
307
+ *
308
+ * for await (const event of agent.tool.calculator!.stream({ a: 5, b: 3 })) {
309
+ * console.log('progress:', event)
310
+ * }
311
+ * ```
312
+ *
313
+ * Supports underscore-to-hyphen and case-insensitive name resolution.
314
+ * Results are recorded in message history by default (pass
315
+ * `{ recordDirectToolCall: false }` to skip).
316
+ */
317
+ get tool(): ToolCallerProxy;
260
318
  /**
261
319
  * The cancellation signal for the current invocation.
262
320
  *
@@ -576,6 +634,14 @@ export declare class Agent implements LocalAgent, InvokableAgent {
576
634
  * @returns Estimated input token count
577
635
  */
578
636
  private _estimateInputTokens;
637
+ /**
638
+ * Appends a message to the conversation history and fires MessageAddedEvent hooks.
639
+ *
640
+ * Used by {@link ToolCaller} (via the helper passed to `ToolCaller.create`) for
641
+ * direct tool calls that cannot yield events into the agent stream. This stays
642
+ * private — callers outside the agent should never directly mutate messages.
643
+ */
644
+ private _appendMessageAndFireHooks;
579
645
  /**
580
646
  * Appends a message to the conversation history and returns the event for yielding.
581
647
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,3 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
1
  import { AgentResult, } from '../types/agent.js';
54
2
  import { BedrockModel } from '../models/bedrock.js';
55
3
  import { contentBlockFromData, Message, TextBlock, ToolResultBlock, ToolUseBlock, } from '../types/messages.js';
@@ -63,6 +11,7 @@ import { isModelStreamEvent } from '../models/streaming.js';
63
11
  import { ToolRegistry } from '../registry/tool-registry.js';
64
12
  import { StateStore } from '../state-store.js';
65
13
  import { AgentPrinter, getDefaultAppender } from './printer.js';
14
+ import { InterventionRegistry } from '../interventions/registry.js';
66
15
  import { PluginRegistry } from '../plugins/registry.js';
67
16
  import { SlidingWindowConversationManager } from '../conversation-manager/sliding-window-conversation-manager.js';
68
17
  import { NullConversationManager } from '../conversation-manager/null-conversation-manager.js';
@@ -71,6 +20,7 @@ import { HookRegistryImplementation } from '../hooks/registry.js';
71
20
  import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, InterruptEvent, } from '../hooks/events.js';
72
21
  import { StructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from '../tools/structured-output-tool.js';
73
22
  import { AgentAsTool } from './agent-as-tool.js';
23
+ import { ToolCaller } from './tool-caller.js';
74
24
  import { SessionManager } from '../session/session-manager.js';
75
25
  import { Tracer } from '../telemetry/tracer.js';
76
26
  import { Meter } from '../telemetry/meter.js';
@@ -133,6 +83,7 @@ export class Agent {
133
83
  sessionManager;
134
84
  _hooksRegistry;
135
85
  _pluginRegistry;
86
+ _interventionRegistry;
136
87
  _toolRegistry;
137
88
  _mcpClients;
138
89
  _initialized;
@@ -149,6 +100,8 @@ export class Agent {
149
100
  _interruptState;
150
101
  /** Strategy for executing tool calls from a single assistant turn. */
151
102
  _toolExecutor;
103
+ /** Direct tool caller — created via {@link ToolCaller.create} factory. */
104
+ _toolCaller;
152
105
  /**
153
106
  * Creates an instance of the Agent.
154
107
  * @param config - The configuration for the agent.
@@ -185,6 +138,7 @@ export class Agent {
185
138
  this._mcpClients = mcpClients;
186
139
  // Initialize hooks registry
187
140
  this._hooksRegistry = new HookRegistryImplementation();
141
+ this._interventionRegistry = new InterventionRegistry(config?.interventions ?? [], this._hooksRegistry);
188
142
  // `undefined` (omitted) → install the default; `null`/`[]` → explicit opt-out.
189
143
  const retryStrategies = config?.retryStrategy === null
190
144
  ? []
@@ -226,6 +180,9 @@ export class Agent {
226
180
  // Initialize interrupt state for human-in-the-loop workflows
227
181
  this._interruptState = new InterruptState();
228
182
  this._toolExecutor = config?.toolExecutor ?? 'concurrent';
183
+ // Pass a private helper into ToolCaller so message append + hook firing
184
+ // remains an internal concern of Agent (not exposed as a public method).
185
+ this._toolCaller = ToolCaller.create(this, (message, invocationState) => this._appendMessageAndFireHooks(message, invocationState));
229
186
  this._initialized = false;
230
187
  }
231
188
  /**
@@ -265,23 +222,24 @@ export class Agent {
265
222
  };
266
223
  }));
267
224
  await this._pluginRegistry.initialize(this);
225
+ for (const handler of this._interventionRegistry.handlers) {
226
+ const observer = handler;
227
+ if (typeof observer.observeAgent === 'function') {
228
+ await observer.observeAgent(this);
229
+ }
230
+ }
268
231
  await this._hooksRegistry.invokeCallbacks(new InitializedEvent({ agent: this }));
269
232
  this._initialized = true;
270
233
  }
271
234
  /**
272
- * Acquires a lock to prevent concurrent invocations.
273
- * Returns a Disposable that releases the lock when disposed.
235
+ * Acquires the invocation lock. Throws if an invocation is already in progress.
236
+ * Callers must release via try/finally with `this._isInvoking = false`.
274
237
  */
275
238
  acquireLock() {
276
239
  if (this._isInvoking) {
277
240
  throw new ConcurrentInvocationError('Agent is already processing an invocation. Wait for the current invoke() or stream() call to complete before invoking again.');
278
241
  }
279
242
  this._isInvoking = true;
280
- return {
281
- [Symbol.dispose]: () => {
282
- this._isInvoking = false;
283
- },
284
- };
285
243
  }
286
244
  /**
287
245
  * Throws {@link CancelledError} if cancellation has been requested.
@@ -292,6 +250,63 @@ export class Agent {
292
250
  throw new CancelledError();
293
251
  }
294
252
  }
253
+ /**
254
+ * Validates the per-invocation budget caps in {@link InvokeOptions.limits}.
255
+ * Called once at the top of `_stream` so bad inputs fail fast with a clear
256
+ * error instead of silently no-op'ing (`NaN`, `Infinity`) or tripping
257
+ * pathologically (zero swallows the user input; negative trips immediately).
258
+ *
259
+ * Each cap, when set, must be a positive finite number. Fractional values
260
+ * are accepted — harmless, and useful for token budgets derived from
261
+ * arithmetic.
262
+ */
263
+ _validateLimits(options) {
264
+ if (!options?.limits)
265
+ return;
266
+ const assertPositive = (name, value) => {
267
+ if (value !== undefined && (!Number.isFinite(value) || value <= 0)) {
268
+ throw new TypeError(`${name} must be a positive finite number, got ${value}`);
269
+ }
270
+ };
271
+ assertPositive('limits.turns', options.limits.turns);
272
+ assertPositive('limits.outputTokens', options.limits.outputTokens);
273
+ assertPositive('limits.totalTokens', options.limits.totalTokens);
274
+ }
275
+ /**
276
+ * Evaluates the per-invocation budget caps in {@link InvokeOptions.limits}
277
+ * against the current invocation's metrics. Called at the top of each
278
+ * agent-loop iteration, after `_throwIfCancelled` and before `startCycle`.
279
+ *
280
+ * Reads from {@link AgentMetrics.latestAgentInvocation} (scoped to the
281
+ * current invocation) — not `cycleCount` / `accumulatedUsage`, which are
282
+ * lifetime accumulators that would cause caps to fire prematurely on the
283
+ * second `invoke()` call against a reused agent.
284
+ *
285
+ * Priority on simultaneous trip: turns → totalTokens → outputTokens.
286
+ *
287
+ * Returns the {@link StopReason} the loop should terminate with, or
288
+ * `undefined` if every configured cap is still within budget.
289
+ */
290
+ _checkLimits(options) {
291
+ const limits = options?.limits;
292
+ if (!limits)
293
+ return undefined;
294
+ const invocation = this._meter.metrics.latestAgentInvocation;
295
+ if (!invocation)
296
+ return undefined;
297
+ const cycleCount = invocation.cycles.length;
298
+ const { outputTokens, totalTokens } = invocation.usage;
299
+ if (limits.turns !== undefined && cycleCount >= limits.turns) {
300
+ return 'limitTurns';
301
+ }
302
+ if (limits.totalTokens !== undefined && totalTokens >= limits.totalTokens) {
303
+ return 'limitTotalTokens';
304
+ }
305
+ if (limits.outputTokens !== undefined && outputTokens >= limits.outputTokens) {
306
+ return 'limitOutputTokens';
307
+ }
308
+ return undefined;
309
+ }
295
310
  /**
296
311
  * The tools this agent can use.
297
312
  */
@@ -304,6 +319,32 @@ export class Agent {
304
319
  get toolRegistry() {
305
320
  return this._toolRegistry;
306
321
  }
322
+ /**
323
+ * Whether the agent is currently processing an invocation.
324
+ */
325
+ get isInvoking() {
326
+ return this._isInvoking;
327
+ }
328
+ /**
329
+ * Direct tool calling accessor.
330
+ *
331
+ * Returns a proxy where each property is a {@link ToolHandle} with
332
+ * `.invoke()` and `.stream()` methods:
333
+ * ```typescript
334
+ * const result = await agent.tool.calculator!.invoke({ a: 5, b: 3 })
335
+ *
336
+ * for await (const event of agent.tool.calculator!.stream({ a: 5, b: 3 })) {
337
+ * console.log('progress:', event)
338
+ * }
339
+ * ```
340
+ *
341
+ * Supports underscore-to-hyphen and case-insensitive name resolution.
342
+ * Results are recorded in message history by default (pass
343
+ * `{ recordDirectToolCall: false }` to skip).
344
+ */
345
+ get tool() {
346
+ return this._toolCaller;
347
+ }
307
348
  /**
308
349
  * The cancellation signal for the current invocation.
309
350
  *
@@ -410,9 +451,8 @@ export class Agent {
410
451
  * ```
411
452
  */
412
453
  async *stream(args, options) {
413
- const env_1 = { stack: [], error: void 0, hasError: false };
454
+ this.acquireLock();
414
455
  try {
415
- const _lock = __addDisposableResource(env_1, this.acquireLock(), false);
416
456
  await this.initialize();
417
457
  let currentArgs = args;
418
458
  // Outer loop: re-enters _stream when a hook sets AfterInvocationEvent.resume.
@@ -494,12 +534,8 @@ export class Agent {
494
534
  return iterationResult.value;
495
535
  }
496
536
  }
497
- catch (e_1) {
498
- env_1.error = e_1;
499
- env_1.hasError = true;
500
- }
501
537
  finally {
502
- __disposeResources(env_1);
538
+ this._isInvoking = false;
503
539
  }
504
540
  }
505
541
  /**
@@ -615,6 +651,7 @@ export class Agent {
615
651
  async *_stream(args, options) {
616
652
  let currentArgs = args;
617
653
  let result;
654
+ this._validateLimits(options);
618
655
  // Resolve structured output schema from per-invocation options or constructor config
619
656
  const structuredOutputSchema = options?.structuredOutputSchema ?? this._structuredOutputSchema;
620
657
  const structuredOutputTool = structuredOutputSchema ? new StructuredOutputTool(structuredOutputSchema) : undefined;
@@ -673,6 +710,17 @@ export class Agent {
673
710
  // Main agent loop - continues until model stops without requesting tools
674
711
  while (true) {
675
712
  this._throwIfCancelled();
713
+ const limitStopReason = this._checkLimits(options);
714
+ if (limitStopReason) {
715
+ result = new AgentResult({
716
+ stopReason: limitStopReason,
717
+ lastMessage: this.messages.at(-1),
718
+ traces: this._tracer.localTraces,
719
+ metrics: this._meter.metrics,
720
+ invocationState,
721
+ });
722
+ return result;
723
+ }
676
724
  // Start metrics cycle tracking
677
725
  const { cycleId, startTime: cycleStartTime } = this._meter.startCycle();
678
726
  // Create agent loop cycle span within agent span context
@@ -1665,6 +1713,17 @@ export class Agent {
1665
1713
  }
1666
1714
  return estimate;
1667
1715
  }
1716
+ /**
1717
+ * Appends a message to the conversation history and fires MessageAddedEvent hooks.
1718
+ *
1719
+ * Used by {@link ToolCaller} (via the helper passed to `ToolCaller.create`) for
1720
+ * direct tool calls that cannot yield events into the agent stream. This stays
1721
+ * private — callers outside the agent should never directly mutate messages.
1722
+ */
1723
+ async _appendMessageAndFireHooks(message, invocationState = {}) {
1724
+ this.messages.push(message);
1725
+ await this._hooksRegistry.invokeCallbacks(new MessageAddedEvent({ agent: this, message, invocationState }));
1726
+ }
1668
1727
  /**
1669
1728
  * Appends a message to the conversation history and returns the event for yielding.
1670
1729
  *