@strands-agents/sdk 1.0.0-rc.2 → 1.0.0-rc.4

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 (138) hide show
  1. package/README.md +4 -0
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +1 -0
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/a2a/__tests__/a2a-agent.test.js +19 -0
  6. package/dist/src/a2a/__tests__/a2a-agent.test.js.map +1 -1
  7. package/dist/src/a2a/a2a-agent.d.ts +3 -0
  8. package/dist/src/a2a/a2a-agent.d.ts.map +1 -1
  9. package/dist/src/a2a/a2a-agent.js +1 -1
  10. package/dist/src/a2a/a2a-agent.js.map +1 -1
  11. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts +2 -0
  12. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts.map +1 -0
  13. package/dist/src/agent/__tests__/agent-as-tool.test.js +347 -0
  14. package/dist/src/agent/__tests__/agent-as-tool.test.js.map +1 -0
  15. package/dist/src/agent/__tests__/agent.cancel.test.d.ts +2 -0
  16. package/dist/src/agent/__tests__/agent.cancel.test.d.ts.map +1 -0
  17. package/dist/src/agent/__tests__/agent.cancel.test.js +337 -0
  18. package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -0
  19. package/dist/src/agent/__tests__/agent.test.js +4 -1
  20. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  21. package/dist/src/agent/__tests__/snapshot.test.js +12 -1
  22. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  23. package/dist/src/agent/agent-as-tool.d.ts +96 -0
  24. package/dist/src/agent/agent-as-tool.d.ts.map +1 -0
  25. package/dist/src/agent/agent-as-tool.js +135 -0
  26. package/dist/src/agent/agent-as-tool.js.map +1 -0
  27. package/dist/src/agent/agent.d.ts +87 -3
  28. package/dist/src/agent/agent.d.ts.map +1 -1
  29. package/dist/src/agent/agent.js +188 -5
  30. package/dist/src/agent/agent.js.map +1 -1
  31. package/dist/src/agent/snapshot.d.ts +1 -33
  32. package/dist/src/agent/snapshot.d.ts.map +1 -1
  33. package/dist/src/agent/snapshot.js +4 -4
  34. package/dist/src/agent/snapshot.js.map +1 -1
  35. package/dist/src/errors.d.ts +9 -0
  36. package/dist/src/errors.d.ts.map +1 -1
  37. package/dist/src/errors.js +12 -0
  38. package/dist/src/errors.js.map +1 -1
  39. package/dist/src/index.d.ts +3 -2
  40. package/dist/src/index.d.ts.map +1 -1
  41. package/dist/src/index.js +2 -0
  42. package/dist/src/index.js.map +1 -1
  43. package/dist/src/models/__tests__/bedrock.test.js +51 -0
  44. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  45. package/dist/src/models/__tests__/model.test.js +28 -0
  46. package/dist/src/models/__tests__/model.test.js.map +1 -1
  47. package/dist/src/models/bedrock.d.ts +10 -0
  48. package/dist/src/models/bedrock.d.ts.map +1 -1
  49. package/dist/src/models/bedrock.js +25 -2
  50. package/dist/src/models/bedrock.js.map +1 -1
  51. package/dist/src/models/model.d.ts.map +1 -1
  52. package/dist/src/models/model.js +12 -0
  53. package/dist/src/models/model.js.map +1 -1
  54. package/dist/src/multiagent/__tests__/graph.test.js +155 -0
  55. package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
  56. package/dist/src/multiagent/__tests__/snapshot.test.d.ts +2 -0
  57. package/dist/src/multiagent/__tests__/snapshot.test.d.ts.map +1 -0
  58. package/dist/src/multiagent/__tests__/snapshot.test.js +161 -0
  59. package/dist/src/multiagent/__tests__/snapshot.test.js.map +1 -0
  60. package/dist/src/multiagent/__tests__/swarm.test.js +108 -0
  61. package/dist/src/multiagent/__tests__/swarm.test.js.map +1 -1
  62. package/dist/src/multiagent/graph.d.ts +31 -1
  63. package/dist/src/multiagent/graph.d.ts.map +1 -1
  64. package/dist/src/multiagent/graph.js +76 -8
  65. package/dist/src/multiagent/graph.js.map +1 -1
  66. package/dist/src/multiagent/plugins.d.ts +8 -8
  67. package/dist/src/multiagent/plugins.d.ts.map +1 -1
  68. package/dist/src/multiagent/plugins.js +1 -30
  69. package/dist/src/multiagent/plugins.js.map +1 -1
  70. package/dist/src/multiagent/snapshot.d.ts +51 -0
  71. package/dist/src/multiagent/snapshot.d.ts.map +1 -0
  72. package/dist/src/multiagent/snapshot.js +69 -0
  73. package/dist/src/multiagent/snapshot.js.map +1 -0
  74. package/dist/src/multiagent/swarm.d.ts +19 -3
  75. package/dist/src/multiagent/swarm.d.ts.map +1 -1
  76. package/dist/src/multiagent/swarm.js +46 -5
  77. package/dist/src/multiagent/swarm.js.map +1 -1
  78. package/dist/src/session/__tests__/session-manager.test.js +269 -1
  79. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  80. package/dist/src/session/index.d.ts +2 -2
  81. package/dist/src/session/index.d.ts.map +1 -1
  82. package/dist/src/session/session-manager.d.ts +49 -4
  83. package/dist/src/session/session-manager.d.ts.map +1 -1
  84. package/dist/src/session/session-manager.js +75 -10
  85. package/dist/src/session/session-manager.js.map +1 -1
  86. package/dist/src/session/types.d.ts +1 -1
  87. package/dist/src/telemetry/__tests__/meter.test.js +59 -0
  88. package/dist/src/telemetry/__tests__/meter.test.js.map +1 -1
  89. package/dist/src/telemetry/meter.d.ts +15 -0
  90. package/dist/src/telemetry/meter.d.ts.map +1 -1
  91. package/dist/src/telemetry/meter.js +14 -0
  92. package/dist/src/telemetry/meter.js.map +1 -1
  93. package/dist/src/tools/tool.d.ts +1 -1
  94. package/dist/src/tsconfig.tsbuildinfo +1 -1
  95. package/dist/src/types/__tests__/agent.test.js +38 -0
  96. package/dist/src/types/__tests__/agent.test.js.map +1 -1
  97. package/dist/src/types/__tests__/messages.test.js +74 -0
  98. package/dist/src/types/__tests__/messages.test.js.map +1 -1
  99. package/dist/src/types/agent.d.ts +69 -0
  100. package/dist/src/types/agent.d.ts.map +1 -1
  101. package/dist/src/types/agent.js +8 -0
  102. package/dist/src/types/agent.js.map +1 -1
  103. package/dist/src/types/messages.d.ts +26 -1
  104. package/dist/src/types/messages.d.ts.map +1 -1
  105. package/dist/src/types/messages.js +9 -0
  106. package/dist/src/types/messages.js.map +1 -1
  107. package/dist/src/types/snapshot.d.ts +28 -0
  108. package/dist/src/types/snapshot.d.ts.map +1 -0
  109. package/dist/src/types/snapshot.js +8 -0
  110. package/dist/src/types/snapshot.js.map +1 -0
  111. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.d.ts +2 -0
  112. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.d.ts.map +1 -0
  113. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +456 -0
  114. package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -0
  115. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.d.ts +2 -0
  116. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.d.ts.map +1 -0
  117. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.js +476 -0
  118. package/dist/src/vended-plugins/skills/__tests__/skill.test.node.js.map +1 -0
  119. package/dist/src/vended-plugins/skills/agent-skills.d.ts +177 -0
  120. package/dist/src/vended-plugins/skills/agent-skills.d.ts.map +1 -0
  121. package/dist/src/vended-plugins/skills/agent-skills.js +421 -0
  122. package/dist/src/vended-plugins/skills/agent-skills.js.map +1 -0
  123. package/dist/src/vended-plugins/skills/index.d.ts +30 -0
  124. package/dist/src/vended-plugins/skills/index.d.ts.map +1 -0
  125. package/dist/src/vended-plugins/skills/index.js +28 -0
  126. package/dist/src/vended-plugins/skills/index.js.map +1 -0
  127. package/dist/src/vended-plugins/skills/skill.d.ts +150 -0
  128. package/dist/src/vended-plugins/skills/skill.d.ts.map +1 -0
  129. package/dist/src/vended-plugins/skills/skill.js +369 -0
  130. package/dist/src/vended-plugins/skills/skill.js.map +1 -0
  131. package/dist/src/vended-tools/http-request/http-request.d.ts.map +1 -1
  132. package/dist/src/vended-tools/http-request/http-request.js +7 -22
  133. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  134. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js +12 -0
  135. package/dist/src/vended-tools/notebook/__tests__/notebook.test.js.map +1 -1
  136. package/dist/src/vended-tools/notebook/notebook.js +1 -1
  137. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  138. package/package.json +10 -4
@@ -11,14 +11,19 @@ import type { Plugin } from '../plugins/plugin.js';
11
11
  import { ConversationManager } from '../conversation-manager/conversation-manager.js';
12
12
  import type { HookableEventConstructor, HookCallback, HookCleanup } from '../hooks/types.js';
13
13
  import { HookableEvent } from '../hooks/events.js';
14
+ import type { AgentAsToolOptions } from './agent-as-tool.js';
14
15
  import type { z } from 'zod';
15
- import type { SessionManager } from '../session/session-manager.js';
16
+ import { SessionManager } from '../session/session-manager.js';
16
17
  import type { AttributeValue } from '@opentelemetry/api';
17
18
  /**
18
19
  * Recursive type definition for nested tool arrays.
19
20
  * Allows tools to be organized in nested arrays of any depth.
21
+ *
22
+ * {@link Agent} instances in the array are automatically wrapped via
23
+ * {@link Agent.asTool}, so they can be passed directly without calling
24
+ * `.asTool()` explicitly.
20
25
  */
21
- export type ToolList = (Tool | McpClient | ToolList)[];
26
+ export type ToolList = (Tool | McpClient | Agent | ToolList)[];
22
27
  /**
23
28
  * Configuration object for creating a new Agent.
24
29
  */
@@ -51,6 +56,7 @@ export type AgentConfig = {
51
56
  /**
52
57
  * An initial set of tools to register with the agent.
53
58
  * Accepts nested arrays of tools at any depth, which will be flattened automatically.
59
+ * {@link Agent} instances are automatically wrapped as tools via {@link Agent.asTool}.
54
60
  */
55
61
  tools?: ToolList;
56
62
  /**
@@ -112,7 +118,7 @@ export declare class Agent implements LocalAgent, InvokableAgent {
112
118
  /**
113
119
  * The conversation history of messages between user and assistant.
114
120
  */
115
- readonly messages: Message[];
121
+ messages: Message[];
116
122
  /**
117
123
  * App state storage accessible to tools and application logic.
118
124
  * State is not passed to the model during inference.
@@ -139,12 +145,18 @@ export declare class Agent implements LocalAgent, InvokableAgent {
139
145
  * Optional description of what the agent does.
140
146
  */
141
147
  readonly description?: string;
148
+ /**
149
+ * The session manager for saving and restoring agent sessions, if configured.
150
+ */
151
+ readonly sessionManager?: SessionManager | undefined;
142
152
  private readonly _hooksRegistry;
143
153
  private readonly _pluginRegistry;
144
154
  private _toolRegistry;
145
155
  private _mcpClients;
146
156
  private _initialized;
147
157
  private _isInvoking;
158
+ private _abortController;
159
+ private _abortSignal;
148
160
  private _printer?;
149
161
  private _structuredOutputSchema?;
150
162
  /** Tracer instance for creating and managing OpenTelemetry spans. */
@@ -182,6 +194,11 @@ export declare class Agent implements LocalAgent, InvokableAgent {
182
194
  * Returns a Disposable that releases the lock when disposed.
183
195
  */
184
196
  private acquireLock;
197
+ /**
198
+ * Throws {@link CancelledError} if cancellation has been requested.
199
+ * Called at cancellation checkpoints within the agent loop.
200
+ */
201
+ private _throwIfCancelled;
185
202
  /**
186
203
  * The tools this agent can use.
187
204
  */
@@ -190,6 +207,47 @@ export declare class Agent implements LocalAgent, InvokableAgent {
190
207
  * The tool registry for managing the agent's tools.
191
208
  */
192
209
  get toolRegistry(): ToolRegistry;
210
+ /**
211
+ * The cancellation signal for the current invocation.
212
+ *
213
+ * Tools can pass this to cancellable operations (e.g., `fetch(url, { signal: agent.cancelSignal })`).
214
+ * Hooks can check `event.agent.cancelSignal.aborted` to detect cancellation.
215
+ */
216
+ get cancelSignal(): AbortSignal;
217
+ /**
218
+ * Cancels the current agent invocation cooperatively.
219
+ *
220
+ * The agent will stop at the next cancellation checkpoint:
221
+ * - During model response streaming
222
+ * - Before tool execution
223
+ * - Between sequential tool executions
224
+ * - At the top of each agent loop cycle
225
+ *
226
+ * If a tool is already executing, it will run to completion unless
227
+ * the tool checks {@link LocalAgent.cancelSignal | cancelSignal} internally.
228
+ *
229
+ * Hook callbacks can check `event.agent.cancelSignal.aborted` to detect
230
+ * cancellation and adjust their behavior accordingly.
231
+ *
232
+ * The stream/invoke call will return an AgentResult with `stopReason: 'cancelled'`.
233
+ * If the agent is not currently invoking, this is a no-op.
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * const agent = new Agent({ model, tools })
238
+ *
239
+ * // Cancel after 5 seconds
240
+ * setTimeout(() => agent.cancel(), 5000)
241
+ * const result = await agent.invoke('Do something')
242
+ * console.log(result.stopReason) // 'cancelled'
243
+ * ```
244
+ */
245
+ cancel(): void;
246
+ /**
247
+ * Whether the current invocation has been cancelled.
248
+ * Returns `false` when the agent is idle.
249
+ */
250
+ private get isCancelled();
193
251
  /**
194
252
  * Invokes the agent and returns the final result.
195
253
  *
@@ -240,6 +298,32 @@ export declare class Agent implements LocalAgent, InvokableAgent {
240
298
  * ```
241
299
  */
242
300
  stream(args: InvokeArgs, options?: InvokeOptions): AsyncGenerator<AgentStreamEvent, AgentResult, undefined>;
301
+ /**
302
+ * Returns a {@link Tool} that wraps this agent, allowing it to be used
303
+ * as a tool by another agent.
304
+ *
305
+ * The returned tool accepts a single `input` string parameter, invokes
306
+ * this agent, and returns the text response as a tool result.
307
+ *
308
+ * **Note:** You can also pass an Agent directly in another agent's
309
+ * {@link AgentConfig.tools | tools} array — it will be wrapped
310
+ * automatically via this method.
311
+ *
312
+ * @param options - Optional configuration for the tool name, description, and context preservation
313
+ * @returns A Tool wrapping this agent
314
+ *
315
+ * @example
316
+ * ```typescript
317
+ * const researcher = new Agent({ name: 'researcher', description: 'Finds info', printer: false })
318
+ *
319
+ * // Explicit wrapping
320
+ * const writer = new Agent({ tools: [researcher.asTool()] })
321
+ *
322
+ * // Automatic wrapping (equivalent)
323
+ * const writer = new Agent({ tools: [researcher] })
324
+ * ```
325
+ */
326
+ asTool(options?: AgentAsToolOptions): Tool;
243
327
  /**
244
328
  * Invokes hook callbacks and printer for a stream event.
245
329
  *
@@ -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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"}
@@ -68,9 +68,12 @@ import { ConversationManager } from '../conversation-manager/conversation-manage
68
68
  import { HookRegistryImplementation } from '../hooks/registry.js';
69
69
  import { InitializedEvent, AfterInvocationEvent, AfterModelCallEvent, AfterToolCallEvent, AfterToolsEvent, BeforeInvocationEvent, BeforeModelCallEvent, BeforeToolCallEvent, BeforeToolsEvent, HookableEvent, MessageAddedEvent, ModelStreamUpdateEvent, ContentBlockEvent, ModelMessageEvent, ToolResultEvent, AgentResultEvent, ToolStreamUpdateEvent, } from '../hooks/events.js';
70
70
  import { StructuredOutputTool, STRUCTURED_OUTPUT_TOOL_NAME } from '../tools/structured-output-tool.js';
71
+ import { AgentAsTool } from './agent-as-tool.js';
72
+ import { SessionManager } from '../session/session-manager.js';
71
73
  import { Tracer } from '../telemetry/tracer.js';
72
74
  import { Meter } from '../telemetry/meter.js';
73
75
  import { logger } from '../logging/logger.js';
76
+ import { CancelledError } from '../errors.js';
74
77
  /** Default name assigned to agents when none is provided. */
75
78
  const DEFAULT_AGENT_NAME = 'Strands Agent';
76
79
  /** Default identifier assigned to agents when none is provided. */
@@ -111,12 +114,18 @@ export class Agent {
111
114
  * Optional description of what the agent does.
112
115
  */
113
116
  description;
117
+ /**
118
+ * The session manager for saving and restoring agent sessions, if configured.
119
+ */
120
+ sessionManager;
114
121
  _hooksRegistry;
115
122
  _pluginRegistry;
116
123
  _toolRegistry;
117
124
  _mcpClients;
118
125
  _initialized;
119
126
  _isInvoking = false;
127
+ _abortController = new AbortController();
128
+ _abortSignal = this._abortController.signal;
120
129
  _printer;
121
130
  _structuredOutputSchema;
122
131
  /** Tracer instance for creating and managing OpenTelemetry spans. */
@@ -136,6 +145,7 @@ export class Agent {
136
145
  this.id = config?.id ?? DEFAULT_AGENT_ID;
137
146
  if (config?.description !== undefined)
138
147
  this.description = config.description;
148
+ this.sessionManager = config?.sessionManager;
139
149
  if (typeof config?.model === 'string') {
140
150
  this.model = new BedrockModel({ modelId: config.model });
141
151
  }
@@ -219,6 +229,15 @@ export class Agent {
219
229
  },
220
230
  };
221
231
  }
232
+ /**
233
+ * Throws {@link CancelledError} if cancellation has been requested.
234
+ * Called at cancellation checkpoints within the agent loop.
235
+ */
236
+ _throwIfCancelled() {
237
+ if (this.isCancelled) {
238
+ throw new CancelledError();
239
+ }
240
+ }
222
241
  /**
223
242
  * The tools this agent can use.
224
243
  */
@@ -231,6 +250,55 @@ export class Agent {
231
250
  get toolRegistry() {
232
251
  return this._toolRegistry;
233
252
  }
253
+ /**
254
+ * The cancellation signal for the current invocation.
255
+ *
256
+ * Tools can pass this to cancellable operations (e.g., `fetch(url, { signal: agent.cancelSignal })`).
257
+ * Hooks can check `event.agent.cancelSignal.aborted` to detect cancellation.
258
+ */
259
+ get cancelSignal() {
260
+ return this._abortSignal;
261
+ }
262
+ /**
263
+ * Cancels the current agent invocation cooperatively.
264
+ *
265
+ * The agent will stop at the next cancellation checkpoint:
266
+ * - During model response streaming
267
+ * - Before tool execution
268
+ * - Between sequential tool executions
269
+ * - At the top of each agent loop cycle
270
+ *
271
+ * If a tool is already executing, it will run to completion unless
272
+ * the tool checks {@link LocalAgent.cancelSignal | cancelSignal} internally.
273
+ *
274
+ * Hook callbacks can check `event.agent.cancelSignal.aborted` to detect
275
+ * cancellation and adjust their behavior accordingly.
276
+ *
277
+ * The stream/invoke call will return an AgentResult with `stopReason: 'cancelled'`.
278
+ * If the agent is not currently invoking, this is a no-op.
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * const agent = new Agent({ model, tools })
283
+ *
284
+ * // Cancel after 5 seconds
285
+ * setTimeout(() => agent.cancel(), 5000)
286
+ * const result = await agent.invoke('Do something')
287
+ * console.log(result.stopReason) // 'cancelled'
288
+ * ```
289
+ */
290
+ cancel() {
291
+ if (this._isInvoking) {
292
+ this._abortController.abort();
293
+ }
294
+ }
295
+ /**
296
+ * Whether the current invocation has been cancelled.
297
+ * Returns `false` when the agent is idle.
298
+ */
299
+ get isCancelled() {
300
+ return this._abortSignal.aborted;
301
+ }
234
302
  /**
235
303
  * Invokes the agent and returns the final result.
236
304
  *
@@ -290,10 +358,18 @@ export class Agent {
290
358
  async *stream(args, options) {
291
359
  const env_1 = { stack: [], error: void 0, hasError: false };
292
360
  try {
293
- const _lock = __addDisposableResource(env_1, this.acquireLock(), false);
361
+ const _lock = __addDisposableResource(env_1, this.acquireLock()
362
+ // Create AbortController for this invocation and compose with external signal
363
+ , false);
364
+ // Create AbortController for this invocation and compose with external signal
365
+ this._abortController = new AbortController();
366
+ this._abortSignal = options?.cancelSignal
367
+ ? AbortSignal.any([this._abortController.signal, options.cancelSignal])
368
+ : this._abortController.signal;
294
369
  await this.initialize();
295
370
  // Delegate to _stream and process events through printer and hooks
296
371
  const streamGenerator = this._stream(args, options);
372
+ let caughtError;
297
373
  try {
298
374
  let result = await streamGenerator.next();
299
375
  while (!result.done) {
@@ -303,19 +379,32 @@ export class Agent {
303
379
  yield await this._invokeCallbacks(new AgentResultEvent({ agent: this, result: result.value }));
304
380
  return result.value;
305
381
  }
382
+ catch (error) {
383
+ caughtError = error;
384
+ throw error;
385
+ }
306
386
  finally {
307
- // Drain remaining events from _stream() so cleanup events (after events
308
- // from finally blocks) still get their hooks and printer invoked.
387
+ // Drain _stream() so cleanup hooks and printer still fire.
388
+ // Yield only on error (consumer may still be iterating); on a consumer
389
+ // break, yielding would suspend the generator and leak the lock.
309
390
  let result = await streamGenerator.return(undefined);
310
391
  while (!result.done) {
311
392
  try {
312
- yield await this._invokeCallbacks(result.value);
393
+ if (caughtError) {
394
+ yield await this._invokeCallbacks(result.value);
395
+ }
396
+ else {
397
+ await this._invokeCallbacks(result.value);
398
+ }
313
399
  }
314
400
  catch (error) {
315
401
  logger.warn(`event_type=<${result.value.type}>, error=<${error}> | error invoking callbacks during cleanup`);
316
402
  }
317
403
  result = await streamGenerator.next();
318
404
  }
405
+ // Reset controller and signal for next invocation
406
+ this._abortController = new AbortController();
407
+ this._abortSignal = this._abortController.signal;
319
408
  }
320
409
  }
321
410
  catch (e_1) {
@@ -326,6 +415,34 @@ export class Agent {
326
415
  __disposeResources(env_1);
327
416
  }
328
417
  }
418
+ /**
419
+ * Returns a {@link Tool} that wraps this agent, allowing it to be used
420
+ * as a tool by another agent.
421
+ *
422
+ * The returned tool accepts a single `input` string parameter, invokes
423
+ * this agent, and returns the text response as a tool result.
424
+ *
425
+ * **Note:** You can also pass an Agent directly in another agent's
426
+ * {@link AgentConfig.tools | tools} array — it will be wrapped
427
+ * automatically via this method.
428
+ *
429
+ * @param options - Optional configuration for the tool name, description, and context preservation
430
+ * @returns A Tool wrapping this agent
431
+ *
432
+ * @example
433
+ * ```typescript
434
+ * const researcher = new Agent({ name: 'researcher', description: 'Finds info', printer: false })
435
+ *
436
+ * // Explicit wrapping
437
+ * const writer = new Agent({ tools: [researcher.asTool()] })
438
+ *
439
+ * // Automatic wrapping (equivalent)
440
+ * const writer = new Agent({ tools: [researcher] })
441
+ * ```
442
+ */
443
+ asTool(options) {
444
+ return new AgentAsTool({ agent: this, ...options });
445
+ }
329
446
  /**
330
447
  * Invokes hook callbacks and printer for a stream event.
331
448
  *
@@ -380,6 +497,7 @@ export class Agent {
380
497
  }
381
498
  // Main agent loop - continues until model stops without requesting tools
382
499
  while (true) {
500
+ this._throwIfCancelled();
383
501
  // Start metrics cycle tracking
384
502
  const { cycleId, startTime: cycleStartTime } = this._meter.startCycle();
385
503
  // Create agent loop cycle span within agent span context
@@ -419,6 +537,27 @@ export class Agent {
419
537
  });
420
538
  return result;
421
539
  }
540
+ // Cancel before tool execution: create error results for all pending tools
541
+ if (this.isCancelled) {
542
+ const toolUseBlocks = modelResult.message.content.filter((block) => block.type === 'toolUseBlock');
543
+ const cancelBlocks = toolUseBlocks.map((block) => new ToolResultBlock({
544
+ toolUseId: block.toolUseId,
545
+ status: 'error',
546
+ content: [new TextBlock('Tool execution cancelled')],
547
+ }));
548
+ const toolResultMessage = new Message({ role: 'user', content: cancelBlocks });
549
+ yield this._appendMessage(modelResult.message);
550
+ yield this._appendMessage(toolResultMessage);
551
+ this._meter.endCycle(cycleStartTime);
552
+ this._tracer.endAgentLoopSpan(cycleSpan);
553
+ result = new AgentResult({
554
+ stopReason: 'cancelled',
555
+ lastMessage: modelResult.message,
556
+ traces: this._tracer.localTraces,
557
+ metrics: this._meter.metrics,
558
+ });
559
+ return result;
560
+ }
422
561
  // Execute tools
423
562
  const toolResultMessage = yield* this.executeTools(modelResult.message, this._toolRegistry);
424
563
  /**
@@ -454,10 +593,36 @@ export class Agent {
454
593
  }
455
594
  }
456
595
  catch (error) {
596
+ if (error instanceof CancelledError) {
597
+ // Cancelled during model streaming or at the top of a cycle.
598
+ // No partial messages have been appended (deferred append pattern).
599
+ const cancelMessage = new Message({
600
+ role: 'assistant',
601
+ content: [new TextBlock('Cancelled by user')],
602
+ });
603
+ yield this._appendMessage(cancelMessage);
604
+ result = new AgentResult({
605
+ stopReason: 'cancelled',
606
+ lastMessage: cancelMessage,
607
+ traces: this._tracer.localTraces,
608
+ metrics: this._meter.metrics,
609
+ });
610
+ return result;
611
+ }
457
612
  caughtError = error;
458
613
  throw error;
459
614
  }
460
615
  finally {
616
+ // If cancelled but the catch block was bypassed (generator terminated
617
+ // via .return() when the consumer breaks out of for-await), append an
618
+ // assistant message so the agent can be reinvoked with a new user prompt.
619
+ if (!caughtError && !result && this.isCancelled) {
620
+ const cancelMessage = new Message({
621
+ role: 'assistant',
622
+ content: [new TextBlock('Cancelled by user')],
623
+ });
624
+ yield this._appendMessage(cancelMessage);
625
+ }
461
626
  this._tracer.endAgentSpan(agentSpan, {
462
627
  ...(caughtError && { error: caughtError }),
463
628
  ...(result?.lastMessage && { response: result.lastMessage }),
@@ -607,6 +772,11 @@ export class Agent {
607
772
  const errorEvent = new AfterModelCallEvent({ agent: this, model: this.model, error: modelError });
608
773
  // Yield error event - stream will invoke hooks
609
774
  yield errorEvent;
775
+ // Let CancelledError propagate directly — no retry
776
+ // (we emit the AfterModelCall because we already emitted Before and we guarentee the pair)
777
+ if (error instanceof CancelledError) {
778
+ throw error;
779
+ }
610
780
  // After yielding, hooks have been invoked and may have set retry
611
781
  if (errorEvent.retry) {
612
782
  return yield* this._invokeModel(toolChoice);
@@ -635,6 +805,7 @@ export class Agent {
635
805
  const streamGenerator = this.model.streamAggregated(messages, streamOptions);
636
806
  let result = await streamGenerator.next();
637
807
  while (!result.done) {
808
+ this._throwIfCancelled();
638
809
  const event = result.value;
639
810
  if (isModelStreamEvent(event)) {
640
811
  // ModelStreamEvent: wrap in ModelStreamUpdateEvent
@@ -683,9 +854,18 @@ export class Agent {
683
854
  }
684
855
  else {
685
856
  for (const toolUseBlock of toolUseBlocks) {
857
+ if (this.isCancelled) {
858
+ const cancelBlock = new ToolResultBlock({
859
+ toolUseId: toolUseBlock.toolUseId,
860
+ status: 'error',
861
+ content: [new TextBlock('Tool execution cancelled')],
862
+ });
863
+ toolResultBlocks.push(cancelBlock);
864
+ yield new ToolResultEvent({ agent: this, result: cancelBlock });
865
+ continue;
866
+ }
686
867
  const toolResultBlock = yield* this.executeTool(toolUseBlock, toolRegistry);
687
868
  toolResultBlocks.push(toolResultBlock);
688
- // Yield the tool result event as it's created
689
869
  yield new ToolResultEvent({ agent: this, result: toolResultBlock });
690
870
  }
691
871
  }
@@ -905,6 +1085,9 @@ function flattenTools(toolList) {
905
1085
  tools.push(...nestedTools);
906
1086
  mcpClients.push(...nestedMcpClients);
907
1087
  }
1088
+ else if (item instanceof Agent) {
1089
+ tools.push(item.asTool());
1090
+ }
908
1091
  else if (item instanceof McpClient) {
909
1092
  mcpClients.push(item);
910
1093
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/agent/agent.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,7 @@
12
12
  */
13
13
  import type { JSONValue } from '../types/json.js';
14
14
  import type { LocalAgent } from '../types/agent.js';
15
- /**
16
- * Current schema version of the snapshot format.
17
- */
18
- export declare const SNAPSHOT_SCHEMA_VERSION = "1.0";
15
+ import type { Snapshot } from '../types/snapshot.js';
19
16
  /**
20
17
  * All available fields that can be included in a snapshot.
21
18
  */
@@ -35,35 +32,6 @@ export type SnapshotPreset = keyof typeof SNAPSHOT_PRESETS;
35
32
  * Valid snapshot field names.
36
33
  */
37
34
  export type SnapshotField = (typeof ALL_SNAPSHOT_FIELDS)[number];
38
- /**
39
- * Scope defines the context for snapshot data.
40
- */
41
- export type Scope = 'agent' | 'multiAgent';
42
- /**
43
- * Point-in-time capture of agent state.
44
- */
45
- export interface Snapshot {
46
- /**
47
- * Scope identifying the snapshot context (agent or multi-agent).
48
- */
49
- scope: Scope;
50
- /**
51
- * Schema version string for forward compatibility.
52
- */
53
- schemaVersion: string;
54
- /**
55
- * ISO 8601 timestamp of when snapshot was created.
56
- */
57
- createdAt: string;
58
- /**
59
- * Agent's evolving state (messages, state, systemPrompt). Strands-owned.
60
- */
61
- data: Record<string, JSONValue>;
62
- /**
63
- * Application-owned data. Strands does not read or modify this.
64
- */
65
- appData: Record<string, JSONValue>;
66
- }
67
35
  /**
68
36
  * Creates an ISO 8601 timestamp string.
69
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAE5C;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,YAAY,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;IAEZ;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA6BxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/agent/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;CAEnB,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhE;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ,CAwBtF;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAgCxE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,mBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,CAoC3F"}