@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.
- package/README.md +13 -13
- package/dist/src/__fixtures__/test-sandbox.node.d.ts +15 -0
- package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +1 -0
- package/dist/src/__fixtures__/test-sandbox.node.js +22 -0
- package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -0
- package/dist/src/__tests__/mcp.test.js +14 -14
- package/dist/src/__tests__/mcp.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.test.js +195 -0
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/printer.test.js +58 -18
- package/dist/src/agent/__tests__/printer.test.js.map +1 -1
- package/dist/src/agent/__tests__/tool-caller.test.d.ts +2 -0
- package/dist/src/agent/__tests__/tool-caller.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/tool-caller.test.js +459 -0
- package/dist/src/agent/__tests__/tool-caller.test.js.map +1 -0
- package/dist/src/agent/agent.d.ts +68 -2
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +125 -66
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/printer.d.ts +14 -1
- package/dist/src/agent/printer.d.ts.map +1 -1
- package/dist/src/agent/printer.js +33 -5
- package/dist/src/agent/printer.js.map +1 -1
- package/dist/src/agent/tool-caller.d.ts +149 -0
- package/dist/src/agent/tool-caller.d.ts.map +1 -0
- package/dist/src/agent/tool-caller.js +198 -0
- package/dist/src/agent/tool-caller.js.map +1 -0
- package/dist/src/errors.d.ts +17 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +21 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/hooks/types.d.ts +2 -0
- package/dist/src/hooks/types.d.ts.map +1 -1
- package/dist/src/hooks/types.js +2 -0
- package/dist/src/hooks/types.js.map +1 -1
- package/dist/src/index.d.ts +10 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/interventions/__tests__/handler.test.d.ts +2 -0
- package/dist/src/interventions/__tests__/handler.test.d.ts.map +1 -0
- package/dist/src/interventions/__tests__/handler.test.js +35 -0
- package/dist/src/interventions/__tests__/handler.test.js.map +1 -0
- package/dist/src/interventions/__tests__/registry.test.d.ts +2 -0
- package/dist/src/interventions/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/interventions/__tests__/registry.test.js +692 -0
- package/dist/src/interventions/__tests__/registry.test.js.map +1 -0
- package/dist/src/interventions/actions.d.ts +186 -0
- package/dist/src/interventions/actions.d.ts.map +1 -0
- package/dist/src/interventions/actions.js +56 -0
- package/dist/src/interventions/actions.js.map +1 -0
- package/dist/src/interventions/handler.d.ts +43 -0
- package/dist/src/interventions/handler.d.ts.map +1 -0
- package/dist/src/interventions/handler.js +41 -0
- package/dist/src/interventions/handler.js.map +1 -0
- package/dist/src/interventions/index.d.ts +12 -0
- package/dist/src/interventions/index.d.ts.map +1 -0
- package/dist/src/interventions/index.js +4 -0
- package/dist/src/interventions/index.js.map +1 -0
- package/dist/src/interventions/registry.d.ts +36 -0
- package/dist/src/interventions/registry.d.ts.map +1 -0
- package/dist/src/interventions/registry.js +252 -0
- package/dist/src/interventions/registry.js.map +1 -0
- package/dist/src/mcp.d.ts +20 -15
- package/dist/src/mcp.d.ts.map +1 -1
- package/dist/src/mcp.js +15 -8
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/models/__tests__/anthropic.test.js +72 -8
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +142 -0
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/anthropic.d.ts +10 -0
- package/dist/src/models/anthropic.d.ts.map +1 -1
- package/dist/src/models/anthropic.js +24 -8
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +26 -1
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +22 -4
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/openai/__tests__/chat.test.js +2 -10
- package/dist/src/models/openai/__tests__/chat.test.js.map +1 -1
- package/dist/src/models/openai/__tests__/errors.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/errors.test.d.ts.map +1 -0
- package/dist/src/models/openai/__tests__/errors.test.js +30 -0
- package/dist/src/models/openai/__tests__/errors.test.js.map +1 -0
- package/dist/src/models/openai/__tests__/mantle.test.d.ts +2 -0
- package/dist/src/models/openai/__tests__/mantle.test.d.ts.map +1 -0
- package/dist/src/models/openai/__tests__/mantle.test.js +189 -0
- package/dist/src/models/openai/__tests__/mantle.test.js.map +1 -0
- package/dist/src/models/openai/__tests__/responses.test.js +0 -19
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/models/openai/errors.d.ts.map +1 -1
- package/dist/src/models/openai/errors.js +5 -3
- package/dist/src/models/openai/errors.js.map +1 -1
- package/dist/src/models/openai/index.d.ts +1 -0
- package/dist/src/models/openai/index.d.ts.map +1 -1
- package/dist/src/models/openai/mantle.d.ts +77 -0
- package/dist/src/models/openai/mantle.d.ts.map +1 -0
- package/dist/src/models/openai/mantle.js +83 -0
- package/dist/src/models/openai/mantle.js.map +1 -0
- package/dist/src/models/openai/model.d.ts.map +1 -1
- package/dist/src/models/openai/model.js +29 -1
- package/dist/src/models/openai/model.js.map +1 -1
- package/dist/src/models/openai/types.d.ts +11 -0
- package/dist/src/models/openai/types.d.ts.map +1 -1
- package/dist/src/multiagent/__tests__/nodes.test.js +50 -0
- package/dist/src/multiagent/__tests__/nodes.test.js.map +1 -1
- package/dist/src/multiagent/nodes.d.ts +23 -2
- package/dist/src/multiagent/nodes.d.ts.map +1 -1
- package/dist/src/multiagent/nodes.js +18 -4
- package/dist/src/multiagent/nodes.js.map +1 -1
- package/dist/src/registry/__tests__/tool-registry.test.js +50 -1
- package/dist/src/registry/__tests__/tool-registry.test.js.map +1 -1
- package/dist/src/registry/tool-registry.d.ts +13 -0
- package/dist/src/registry/tool-registry.d.ts.map +1 -1
- package/dist/src/registry/tool-registry.js +35 -1
- package/dist/src/registry/tool-registry.js.map +1 -1
- package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js +252 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -0
- package/dist/src/sandbox/base.d.ts +138 -0
- package/dist/src/sandbox/base.d.ts.map +1 -0
- package/dist/src/sandbox/base.js +84 -0
- package/dist/src/sandbox/base.js.map +1 -0
- package/dist/src/sandbox/constants.d.ts +7 -0
- package/dist/src/sandbox/constants.d.ts.map +1 -0
- package/dist/src/sandbox/constants.js +7 -0
- package/dist/src/sandbox/constants.js.map +1 -0
- package/dist/src/sandbox/posix-shell.d.ts +32 -0
- package/dist/src/sandbox/posix-shell.d.ts.map +1 -0
- package/dist/src/sandbox/posix-shell.js +78 -0
- package/dist/src/sandbox/posix-shell.js.map +1 -0
- package/dist/src/sandbox/stream-process.d.ts +32 -0
- package/dist/src/sandbox/stream-process.d.ts.map +1 -0
- package/dist/src/sandbox/stream-process.js +160 -0
- package/dist/src/sandbox/stream-process.js.map +1 -0
- package/dist/src/sandbox/types.d.ts +57 -0
- package/dist/src/sandbox/types.d.ts.map +1 -0
- package/dist/src/sandbox/types.js +8 -0
- package/dist/src/sandbox/types.js.map +1 -0
- package/dist/src/telemetry/__tests__/meter.test.js +11 -0
- package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
- package/dist/src/telemetry/meter.d.ts +10 -6
- package/dist/src/telemetry/meter.d.ts.map +1 -1
- package/dist/src/telemetry/meter.js +16 -3
- package/dist/src/telemetry/meter.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/__tests__/messages.test.js +28 -0
- package/dist/src/types/__tests__/messages.test.js.map +1 -1
- package/dist/src/types/agent.d.ts +51 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/lifecycle-observer.d.ts +18 -0
- package/dist/src/types/lifecycle-observer.d.ts.map +1 -0
- package/dist/src/types/lifecycle-observer.js +2 -0
- package/dist/src/types/lifecycle-observer.js.map +1 -0
- package/dist/src/types/messages.d.ts +20 -2
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +9 -0
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/utils/shell-quote.d.ts +12 -0
- package/dist/src/utils/shell-quote.d.ts.map +1 -0
- package/dist/src/utils/shell-quote.js +14 -0
- package/dist/src/utils/shell-quote.js.map +1 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts +2 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js +358 -0
- package/dist/src/vended-interventions/hitl/__tests__/hitl.test.js.map +1 -0
- package/dist/src/vended-interventions/hitl/hitl.d.ts +115 -0
- package/dist/src/vended-interventions/hitl/hitl.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/hitl.js +138 -0
- package/dist/src/vended-interventions/hitl/hitl.js.map +1 -0
- package/dist/src/vended-interventions/hitl/index.d.ts +24 -0
- package/dist/src/vended-interventions/hitl/index.d.ts.map +1 -0
- package/dist/src/vended-interventions/hitl/index.js +23 -0
- package/dist/src/vended-interventions/hitl/index.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.js +163 -0
- package/dist/src/vended-interventions/steering/__tests__/handler.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.js +60 -0
- package/dist/src/vended-interventions/steering/__tests__/llm.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts +2 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js +94 -0
- package/dist/src/vended-interventions/steering/__tests__/tool-ledger.test.js.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/handler.d.ts +64 -0
- package/dist/src/vended-interventions/steering/handlers/handler.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/handler.js +71 -0
- package/dist/src/vended-interventions/steering/handlers/handler.js.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/llm.d.ts +72 -0
- package/dist/src/vended-interventions/steering/handlers/llm.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/handlers/llm.js +177 -0
- package/dist/src/vended-interventions/steering/handlers/llm.js.map +1 -0
- package/dist/src/vended-interventions/steering/index.d.ts +31 -0
- package/dist/src/vended-interventions/steering/index.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/index.js +32 -0
- package/dist/src/vended-interventions/steering/index.js.map +1 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.d.ts +55 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.js +8 -0
- package/dist/src/vended-interventions/steering/providers/context-provider.js.map +1 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts +49 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.d.ts.map +1 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.js +75 -0
- package/dist/src/vended-interventions/steering/providers/tool-ledger.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +208 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js +149 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/search.test.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +57 -10
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.d.ts +25 -0
- package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/search.js +120 -0
- package/dist/src/vended-plugins/context-offloader/search.js.map +1 -0
- package/dist/src/vended-plugins/index.d.ts +11 -0
- package/dist/src/vended-plugins/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/index.js +11 -0
- package/dist/src/vended-plugins/index.js.map +1 -0
- package/dist/src/vended-tools/index.d.ts +17 -0
- package/dist/src/vended-tools/index.d.ts.map +1 -0
- package/dist/src/vended-tools/index.js +17 -0
- package/dist/src/vended-tools/index.js.map +1 -0
- 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
|
|
244
|
-
*
|
|
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":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAIL,OAAO,EACP,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent/agent.js
CHANGED
|
@@ -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
|
|
273
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
*
|