@strands-agents/sdk 1.0.0-rc.2 → 1.0.0-rc.3
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 +4 -0
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +1 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/agent/__tests__/agent-as-tool.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent-as-tool.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent-as-tool.test.js +347 -0
- package/dist/src/agent/__tests__/agent-as-tool.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.cancel.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.cancel.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.cancel.test.js +337 -0
- package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.test.js +4 -1
- package/dist/src/agent/__tests__/agent.test.js.map +1 -1
- package/dist/src/agent/__tests__/snapshot.test.js +12 -1
- package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
- package/dist/src/agent/agent-as-tool.d.ts +96 -0
- package/dist/src/agent/agent-as-tool.d.ts.map +1 -0
- package/dist/src/agent/agent-as-tool.js +135 -0
- package/dist/src/agent/agent-as-tool.js.map +1 -0
- package/dist/src/agent/agent.d.ts +87 -3
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +188 -5
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/agent/snapshot.d.ts +1 -33
- package/dist/src/agent/snapshot.d.ts.map +1 -1
- package/dist/src/agent/snapshot.js +4 -4
- package/dist/src/agent/snapshot.js.map +1 -1
- package/dist/src/errors.d.ts +9 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +12 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +51 -0
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/bedrock.d.ts +10 -0
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +25 -2
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/multiagent/__tests__/snapshot.test.d.ts +2 -0
- package/dist/src/multiagent/__tests__/snapshot.test.d.ts.map +1 -0
- package/dist/src/multiagent/__tests__/snapshot.test.js +161 -0
- package/dist/src/multiagent/__tests__/snapshot.test.js.map +1 -0
- package/dist/src/multiagent/plugins.d.ts +8 -8
- package/dist/src/multiagent/plugins.d.ts.map +1 -1
- package/dist/src/multiagent/plugins.js +1 -30
- package/dist/src/multiagent/plugins.js.map +1 -1
- package/dist/src/multiagent/snapshot.d.ts +51 -0
- package/dist/src/multiagent/snapshot.d.ts.map +1 -0
- package/dist/src/multiagent/snapshot.js +69 -0
- package/dist/src/multiagent/snapshot.js.map +1 -0
- package/dist/src/session/__tests__/session-manager.test.js +244 -1
- package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
- package/dist/src/session/index.d.ts +2 -2
- package/dist/src/session/index.d.ts.map +1 -1
- package/dist/src/session/session-manager.d.ts +42 -4
- package/dist/src/session/session-manager.d.ts.map +1 -1
- package/dist/src/session/session-manager.js +64 -10
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session/types.d.ts +1 -1
- package/dist/src/tools/tool.d.ts +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/agent.d.ts +63 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/messages.d.ts +2 -1
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/types/snapshot.d.ts +28 -0
- package/dist/src/types/snapshot.d.ts.map +1 -0
- package/dist/src/types/snapshot.js +8 -0
- package/dist/src/types/snapshot.js.map +1 -0
- package/dist/src/vended-tools/http-request/http-request.d.ts.map +1 -1
- package/dist/src/vended-tools/http-request/http-request.js +7 -22
- package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -308,6 +308,10 @@ For detailed guidance, tutorials, and concept overviews, please visit:
|
|
|
308
308
|
- **[Official Documentation](https://strandsagents.com/)**: Comprehensive guides and tutorials
|
|
309
309
|
- **[API Reference](https://strandsagents.com/latest/documentation/docs/api-reference/typescript/)**: Complete API documentation
|
|
310
310
|
- **[Examples](./examples/)**: Sample applications
|
|
311
|
+
- **[First Agent](./examples/first-agent/)**: Basic Node.js agent
|
|
312
|
+
- **[MCP](./examples/mcp/)**: MCP integration example
|
|
313
|
+
- **[Browser Agent](./examples/browser-agent/)**: Browser-based agent with DOM manipulation
|
|
314
|
+
|
|
311
315
|
- **[Contributing Guide](CONTRIBUTING.md)**: Development setup and guidelines
|
|
312
316
|
|
|
313
317
|
---
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-helpers.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/agent-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAA;IAClD,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;CACtC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAAE,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"agent-helpers.d.ts","sourceRoot":"","sources":["../../../src/__fixtures__/agent-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAa,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/E,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAA;IAClD,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;CACtC,CAAA;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACpC;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAAE,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,SAAS,CAiB/D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1G;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAChF;;OAEG;IACH,UAAU,EAAE,UAAU,CAAA;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CA+B1E"}
|
|
@@ -21,6 +21,7 @@ export function createMockAgent(data) {
|
|
|
21
21
|
messages: data?.messages ?? [],
|
|
22
22
|
appState: new StateStore(data?.appState ?? {}),
|
|
23
23
|
toolRegistry: data?.toolRegistry ?? new ToolRegistry(),
|
|
24
|
+
cancelSignal: new AbortController().signal,
|
|
24
25
|
addHook: (eventType, callback) => {
|
|
25
26
|
trackedHooks.push({
|
|
26
27
|
eventType: eventType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-helpers.js","sourceRoot":"","sources":["../../../src/__fixtures__/agent-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-helpers.js","sourceRoot":"","sources":["../../../src/__fixtures__/agent-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAI/B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAG3D,OAAO,EAAE,iBAAiB,EAA2B,MAAM,sBAAsB,CAAA;AAqCjF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB;IAClD,MAAM,YAAY,GAAkB,EAAE,CAAA;IACtC,OAAO;QACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;QAC9B,QAAQ,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC9C,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,IAAI,YAAY,EAAE;QACtD,YAAY,EAAE,IAAI,eAAe,EAAE,CAAC,MAAM;QAC1C,OAAO,EAAE,CAA0B,SAAsC,EAAE,QAAyB,EAAE,EAAE;YACtG,YAAY,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,SAAoD;gBAC/D,QAAQ,EAAE,QAAuC;aAClD,CAAC,CAAA;YACF,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;QACjB,CAAC;QACD,GAAG,IAAI,EAAE,KAAK;QACd,YAAY;KACW,CAAA;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,IAAY;IAClD,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAA0B,KAAgB,EAAE,KAAQ;IACzF,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC5B,CAAC;AA8BD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IAErF,MAAM,mBAAmB,GAAG,WAAW;QACrC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACtB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;SACrG,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IAElD,MAAM,cAAc,GAClB,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAErF,mEAAmE;IACnE,MAAM,cAAc,GAAuB,EAAE,UAAU,EAAE,CAAA;IACzD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,cAAc,CAAC,SAAS,GAAG,SAAS,CAAA;IACtC,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,cAAc,CAAC,KAAK,GAAG,KAAK,CAAA;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,gBAAgB,CAAC;QAC7B,IAAI,EAAE,aAAa;QACnB,UAAU;QACV,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC;QAC1C,MAAM,EAAE,cAAc;KACvB,CAAgB,CAAA;AACnB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-as-tool.test.d.ts","sourceRoot":"","sources":["../../../../src/agent/__tests__/agent-as-tool.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { Agent } from '../agent.js';
|
|
3
|
+
import { AgentAsTool } from '../agent-as-tool.js';
|
|
4
|
+
import { MockMessageModel } from '../../__fixtures__/mock-message-model.js';
|
|
5
|
+
import { collectGenerator } from '../../__fixtures__/model-test-helpers.js';
|
|
6
|
+
import { createMockContext } from '../../__fixtures__/tool-helpers.js';
|
|
7
|
+
import { ToolValidationError } from '../../errors.js';
|
|
8
|
+
import { Tool, ToolStreamEvent } from '../../tools/tool.js';
|
|
9
|
+
import { ToolResultBlock } from '../../types/messages.js';
|
|
10
|
+
import { SessionManager } from '../../session/session-manager.js';
|
|
11
|
+
describe('AgentAsTool', () => {
|
|
12
|
+
describe('properties', () => {
|
|
13
|
+
it('uses agent name as default tool name', () => {
|
|
14
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
15
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
16
|
+
const tool = new AgentAsTool({ agent });
|
|
17
|
+
expect(tool.name).toBe('researcher');
|
|
18
|
+
});
|
|
19
|
+
it('allows overriding the tool name', () => {
|
|
20
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
21
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
22
|
+
const tool = new AgentAsTool({ agent, name: 'research-tool' });
|
|
23
|
+
expect(tool.name).toBe('research-tool');
|
|
24
|
+
});
|
|
25
|
+
it('uses agent description as default tool description', () => {
|
|
26
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
27
|
+
const agent = new Agent({ model, name: 'researcher', description: 'Finds information' });
|
|
28
|
+
const tool = new AgentAsTool({ agent });
|
|
29
|
+
expect(tool.description).toBe('Finds information');
|
|
30
|
+
});
|
|
31
|
+
it('falls back to generic description when agent has no description', () => {
|
|
32
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
33
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
34
|
+
const tool = new AgentAsTool({ agent });
|
|
35
|
+
expect(tool.description).toBe('Use the researcher agent by providing a natural language input');
|
|
36
|
+
});
|
|
37
|
+
it('allows overriding the tool description', () => {
|
|
38
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
39
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
40
|
+
const tool = new AgentAsTool({ agent, description: 'Custom description' });
|
|
41
|
+
expect(tool.description).toBe('Custom description');
|
|
42
|
+
});
|
|
43
|
+
it('exposes the wrapped agent via getter', () => {
|
|
44
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
45
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
46
|
+
const tool = new AgentAsTool({ agent });
|
|
47
|
+
expect(tool.agent).toBe(agent);
|
|
48
|
+
});
|
|
49
|
+
it('has correct toolSpec shape', () => {
|
|
50
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
51
|
+
const agent = new Agent({ model, name: 'researcher', description: 'Finds info' });
|
|
52
|
+
const tool = new AgentAsTool({ agent });
|
|
53
|
+
expect(tool.toolSpec).toEqual({
|
|
54
|
+
name: 'researcher',
|
|
55
|
+
description: 'Finds info',
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
input: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
description: 'The natural language input to send to the agent.',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
required: ['input'],
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe('name validation', () => {
|
|
70
|
+
it('throws when registered with agent name containing spaces', () => {
|
|
71
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
72
|
+
const subAgent = new Agent({ model, name: 'Strands Agent' });
|
|
73
|
+
expect(() => new Agent({ model, tools: [subAgent] })).toThrow(ToolValidationError);
|
|
74
|
+
});
|
|
75
|
+
it('throws when registered with explicit name containing invalid characters', () => {
|
|
76
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
77
|
+
const subAgent = new Agent({ model, name: 'researcher' });
|
|
78
|
+
expect(() => new Agent({ model, tools: [subAgent.asTool({ name: 'has spaces' })] })).toThrow(ToolValidationError);
|
|
79
|
+
});
|
|
80
|
+
it('accepts valid name with hyphens and underscores', () => {
|
|
81
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
82
|
+
const agent = new Agent({ model, name: 'my_research-agent' });
|
|
83
|
+
const tool = new AgentAsTool({ agent });
|
|
84
|
+
expect(tool.name).toBe('my_research-agent');
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('stream', () => {
|
|
88
|
+
it('invokes the wrapped agent and returns text result', async () => {
|
|
89
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Agent response' });
|
|
90
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
91
|
+
const tool = new AgentAsTool({ agent });
|
|
92
|
+
const context = createMockContext({
|
|
93
|
+
name: 'test-agent',
|
|
94
|
+
toolUseId: 'tool-1',
|
|
95
|
+
input: { input: 'Hello agent' },
|
|
96
|
+
});
|
|
97
|
+
const { result } = await collectGenerator(tool.stream(context));
|
|
98
|
+
expect(result.toolUseId).toBe('tool-1');
|
|
99
|
+
expect(result.status).toBe('success');
|
|
100
|
+
expect(result.content).toHaveLength(1);
|
|
101
|
+
expect(result.content[0]).toEqual(expect.objectContaining({
|
|
102
|
+
type: 'textBlock',
|
|
103
|
+
text: 'Agent response',
|
|
104
|
+
}));
|
|
105
|
+
});
|
|
106
|
+
it('yields ToolStreamEvents wrapping sub-agent events', async () => {
|
|
107
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hello' });
|
|
108
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
109
|
+
const tool = new AgentAsTool({ agent });
|
|
110
|
+
const context = createMockContext({
|
|
111
|
+
name: 'test-agent',
|
|
112
|
+
toolUseId: 'tool-1',
|
|
113
|
+
input: { input: 'Hi' },
|
|
114
|
+
});
|
|
115
|
+
const { items } = await collectGenerator(tool.stream(context));
|
|
116
|
+
expect(items.length).toBeGreaterThan(0);
|
|
117
|
+
for (const item of items) {
|
|
118
|
+
expect(item).toBeInstanceOf(ToolStreamEvent);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
it('unwraps toolStreamUpdateEvent by yielding inner ToolStreamEvent directly', async () => {
|
|
122
|
+
// Create a tool that yields ToolStreamEvents during execution.
|
|
123
|
+
// When the sub-agent runs this tool, the agent loop wraps each yielded
|
|
124
|
+
// ToolStreamEvent in a ToolStreamUpdateEvent. The AgentAsTool should
|
|
125
|
+
// unwrap these back to bare ToolStreamEvents instead of double-wrapping.
|
|
126
|
+
const streamingTool = {
|
|
127
|
+
name: 'streaming-tool',
|
|
128
|
+
description: 'A tool that yields stream events',
|
|
129
|
+
toolSpec: {
|
|
130
|
+
name: 'streaming-tool',
|
|
131
|
+
description: 'A tool that yields stream events',
|
|
132
|
+
inputSchema: { type: 'object', properties: {} },
|
|
133
|
+
},
|
|
134
|
+
async *stream(context) {
|
|
135
|
+
yield new ToolStreamEvent({ data: 'progress-1' });
|
|
136
|
+
yield new ToolStreamEvent({ data: 'progress-2' });
|
|
137
|
+
return new ToolResultBlock({
|
|
138
|
+
toolUseId: context.toolUse.toolUseId,
|
|
139
|
+
status: 'success',
|
|
140
|
+
content: [],
|
|
141
|
+
});
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
// Turn 1: model requests tool use → triggers the streaming tool
|
|
145
|
+
// Turn 2: model responds with text after tool result
|
|
146
|
+
const model = new MockMessageModel()
|
|
147
|
+
.addTurn({
|
|
148
|
+
type: 'toolUseBlock',
|
|
149
|
+
name: 'streaming-tool',
|
|
150
|
+
toolUseId: 'sub-tool-1',
|
|
151
|
+
input: {},
|
|
152
|
+
})
|
|
153
|
+
.addTurn({ type: 'textBlock', text: 'Final response' });
|
|
154
|
+
const agent = new Agent({ model, name: 'test-agent', tools: [streamingTool], printer: false });
|
|
155
|
+
const tool = new AgentAsTool({ agent });
|
|
156
|
+
const context = createMockContext({
|
|
157
|
+
name: 'test-agent',
|
|
158
|
+
toolUseId: 'outer-tool-1',
|
|
159
|
+
input: { input: 'Do something' },
|
|
160
|
+
});
|
|
161
|
+
const { items } = await collectGenerator(tool.stream(context));
|
|
162
|
+
// All yielded items should be ToolStreamEvent instances
|
|
163
|
+
for (const item of items) {
|
|
164
|
+
expect(item).toBeInstanceOf(ToolStreamEvent);
|
|
165
|
+
}
|
|
166
|
+
// Find the unwrapped events from the streaming tool.
|
|
167
|
+
// If unwrapping works correctly, data is the original string.
|
|
168
|
+
// If double-wrapped, data would be a ToolStreamUpdateEvent object.
|
|
169
|
+
const progressEvents = items.filter((item) => item.data === 'progress-1' || item.data === 'progress-2');
|
|
170
|
+
expect(progressEvents).toHaveLength(2);
|
|
171
|
+
expect(progressEvents[0].data).toBe('progress-1');
|
|
172
|
+
expect(progressEvents[1].data).toBe('progress-2');
|
|
173
|
+
});
|
|
174
|
+
it('returns error result on agent failure', async () => {
|
|
175
|
+
const model = new MockMessageModel().addTurn(new Error('Model failed'));
|
|
176
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
177
|
+
const tool = new AgentAsTool({ agent });
|
|
178
|
+
const context = createMockContext({
|
|
179
|
+
name: 'test-agent',
|
|
180
|
+
toolUseId: 'tool-1',
|
|
181
|
+
input: { input: 'Hello' },
|
|
182
|
+
});
|
|
183
|
+
const { result } = await collectGenerator(tool.stream(context));
|
|
184
|
+
expect(result.toolUseId).toBe('tool-1');
|
|
185
|
+
expect(result.status).toBe('error');
|
|
186
|
+
});
|
|
187
|
+
it('returns error result when agent is already busy', async () => {
|
|
188
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Slow response' });
|
|
189
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
190
|
+
const tool = new AgentAsTool({ agent });
|
|
191
|
+
const context1 = createMockContext({
|
|
192
|
+
name: 'test-agent',
|
|
193
|
+
toolUseId: 'tool-1',
|
|
194
|
+
input: { input: 'First call' },
|
|
195
|
+
});
|
|
196
|
+
const context2 = createMockContext({
|
|
197
|
+
name: 'test-agent',
|
|
198
|
+
toolUseId: 'tool-2',
|
|
199
|
+
input: { input: 'Second call' },
|
|
200
|
+
});
|
|
201
|
+
// Start first call but don't fully consume it
|
|
202
|
+
const gen1 = tool.stream(context1);
|
|
203
|
+
await gen1.next();
|
|
204
|
+
// Second call should get an error immediately
|
|
205
|
+
const { result } = await collectGenerator(tool.stream(context2));
|
|
206
|
+
expect(result.toolUseId).toBe('tool-2');
|
|
207
|
+
expect(result.status).toBe('error');
|
|
208
|
+
expect(result.content[0]).toEqual(expect.objectContaining({
|
|
209
|
+
type: 'textBlock',
|
|
210
|
+
text: expect.stringContaining('already processing'),
|
|
211
|
+
}));
|
|
212
|
+
// Clean up first generator
|
|
213
|
+
await collectGenerator(gen1);
|
|
214
|
+
});
|
|
215
|
+
});
|
|
216
|
+
describe('preserveContext', () => {
|
|
217
|
+
it('resets agent state between invocations when false (default)', async () => {
|
|
218
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Response' });
|
|
219
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
220
|
+
const tool = new AgentAsTool({ agent });
|
|
221
|
+
const context1 = createMockContext({
|
|
222
|
+
name: 'test-agent',
|
|
223
|
+
toolUseId: 'tool-1',
|
|
224
|
+
input: { input: 'Hello' },
|
|
225
|
+
});
|
|
226
|
+
const context2 = createMockContext({
|
|
227
|
+
name: 'test-agent',
|
|
228
|
+
toolUseId: 'tool-2',
|
|
229
|
+
input: { input: 'Hello again' },
|
|
230
|
+
});
|
|
231
|
+
await collectGenerator(tool.stream(context1));
|
|
232
|
+
const messagesAfterFirst = agent.messages.length;
|
|
233
|
+
await collectGenerator(tool.stream(context2));
|
|
234
|
+
const messagesAfterSecond = agent.messages.length;
|
|
235
|
+
// State is reset so both produce the same message count
|
|
236
|
+
expect(messagesAfterSecond).toBe(messagesAfterFirst);
|
|
237
|
+
});
|
|
238
|
+
it('preserves agent state across invocations when true', async () => {
|
|
239
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Response' });
|
|
240
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
241
|
+
const tool = new AgentAsTool({ agent, preserveContext: true });
|
|
242
|
+
const context1 = createMockContext({
|
|
243
|
+
name: 'test-agent',
|
|
244
|
+
toolUseId: 'tool-1',
|
|
245
|
+
input: { input: 'Hello' },
|
|
246
|
+
});
|
|
247
|
+
const context2 = createMockContext({
|
|
248
|
+
name: 'test-agent',
|
|
249
|
+
toolUseId: 'tool-2',
|
|
250
|
+
input: { input: 'Hello again' },
|
|
251
|
+
});
|
|
252
|
+
await collectGenerator(tool.stream(context1));
|
|
253
|
+
const messagesAfterFirst = agent.messages.length;
|
|
254
|
+
await collectGenerator(tool.stream(context2));
|
|
255
|
+
const messagesAfterSecond = agent.messages.length;
|
|
256
|
+
// Messages should accumulate across invocations
|
|
257
|
+
expect(messagesAfterSecond).toBeGreaterThan(messagesAfterFirst);
|
|
258
|
+
});
|
|
259
|
+
it('snapshots at construction time, not first invocation', async () => {
|
|
260
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Response' });
|
|
261
|
+
const agent = new Agent({ model, name: 'test-agent', printer: false });
|
|
262
|
+
const tool = new AgentAsTool({ agent });
|
|
263
|
+
const messagesAtConstruction = agent.messages.length;
|
|
264
|
+
// Modify agent state after tool creation
|
|
265
|
+
await agent.invoke('Direct invocation');
|
|
266
|
+
expect(agent.messages.length).toBeGreaterThan(messagesAtConstruction);
|
|
267
|
+
// First tool call restores to construction-time state, then runs
|
|
268
|
+
const context1 = createMockContext({
|
|
269
|
+
name: 'test-agent',
|
|
270
|
+
toolUseId: 'tool-1',
|
|
271
|
+
input: { input: 'Hello' },
|
|
272
|
+
});
|
|
273
|
+
await collectGenerator(tool.stream(context1));
|
|
274
|
+
const messagesAfterFirstTool = agent.messages.length;
|
|
275
|
+
// Second tool call should produce the same count — both reset to construction baseline
|
|
276
|
+
const context2 = createMockContext({
|
|
277
|
+
name: 'test-agent',
|
|
278
|
+
toolUseId: 'tool-2',
|
|
279
|
+
input: { input: 'Hello again' },
|
|
280
|
+
});
|
|
281
|
+
await collectGenerator(tool.stream(context2));
|
|
282
|
+
expect(agent.messages.length).toBe(messagesAfterFirstTool);
|
|
283
|
+
});
|
|
284
|
+
});
|
|
285
|
+
describe('sessionManager validation', () => {
|
|
286
|
+
const mockStorage = {
|
|
287
|
+
saveSnapshot: async () => { },
|
|
288
|
+
loadSnapshot: async () => null,
|
|
289
|
+
listSnapshotIds: async () => [],
|
|
290
|
+
deleteSession: async () => { },
|
|
291
|
+
loadManifest: async () => ({ schemaVersion: '1.0', updatedAt: '12:00:00' }),
|
|
292
|
+
saveManifest: async () => { },
|
|
293
|
+
};
|
|
294
|
+
it('throws when preserveContext is false and agent has a sessionManager', () => {
|
|
295
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
296
|
+
const sessionManager = new SessionManager({ storage: { snapshot: mockStorage } });
|
|
297
|
+
const agent = new Agent({ model, name: 'test-agent', sessionManager });
|
|
298
|
+
expect(() => new AgentAsTool({ agent })).toThrow(/SessionManager.*conflicts with preserveContext=false/);
|
|
299
|
+
});
|
|
300
|
+
it('throws when preserveContext is explicitly false and agent has a sessionManager', () => {
|
|
301
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
302
|
+
const sessionManager = new SessionManager({ storage: { snapshot: mockStorage } });
|
|
303
|
+
const agent = new Agent({ model, name: 'test-agent', sessionManager });
|
|
304
|
+
expect(() => new AgentAsTool({ agent, preserveContext: false })).toThrow(/SessionManager.*conflicts with preserveContext=false/);
|
|
305
|
+
});
|
|
306
|
+
it('allows preserveContext true with sessionManager', () => {
|
|
307
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
308
|
+
const sessionManager = new SessionManager({ storage: { snapshot: mockStorage } });
|
|
309
|
+
const agent = new Agent({ model, name: 'test-agent', sessionManager });
|
|
310
|
+
expect(() => new AgentAsTool({ agent, preserveContext: true })).not.toThrow();
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
describe('Agent.asTool', () => {
|
|
314
|
+
it('returns an AgentAsTool instance', () => {
|
|
315
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
316
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
317
|
+
const tool = agent.asTool();
|
|
318
|
+
expect(tool).toBeInstanceOf(AgentAsTool);
|
|
319
|
+
expect(tool.name).toBe('researcher');
|
|
320
|
+
});
|
|
321
|
+
it('passes options through to AgentAsTool', () => {
|
|
322
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
323
|
+
const agent = new Agent({ model, name: 'researcher' });
|
|
324
|
+
const tool = agent.asTool({ name: 'custom-name', description: 'Custom desc' });
|
|
325
|
+
expect(tool.name).toBe('custom-name');
|
|
326
|
+
expect(tool.description).toBe('Custom desc');
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
describe('Agent in ToolList', () => {
|
|
330
|
+
it('auto-wraps Agent as AgentAsTool when passed in tools array', () => {
|
|
331
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
332
|
+
const subAgent = new Agent({ model, name: 'sub-agent', description: 'A sub agent' });
|
|
333
|
+
const parentAgent = new Agent({ model, tools: [subAgent] });
|
|
334
|
+
const registeredTool = parentAgent.toolRegistry.get('sub-agent');
|
|
335
|
+
expect(registeredTool).toBeInstanceOf(AgentAsTool);
|
|
336
|
+
expect(registeredTool.name).toBe('sub-agent');
|
|
337
|
+
});
|
|
338
|
+
it('auto-wraps Agent in nested tools arrays', () => {
|
|
339
|
+
const model = new MockMessageModel().addTurn({ type: 'textBlock', text: 'Hi' });
|
|
340
|
+
const subAgent = new Agent({ model, name: 'nested-agent' });
|
|
341
|
+
const parentAgent = new Agent({ model, tools: [[subAgent]] });
|
|
342
|
+
const registeredTool = parentAgent.toolRegistry.get('nested-agent');
|
|
343
|
+
expect(registeredTool).toBeInstanceOf(AgentAsTool);
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
//# sourceMappingURL=agent-as-tool.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-as-tool.test.js","sourceRoot":"","sources":["../../../../src/agent/__tests__/agent-as-tool.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.cancel.test.d.ts","sourceRoot":"","sources":["../../../../src/agent/__tests__/agent.cancel.test.ts"],"names":[],"mappings":""}
|