@strands-agents/sdk 1.11.0 → 1.11.2

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 (58) hide show
  1. package/dist/src/agent/agent-as-tool.d.ts +22 -0
  2. package/dist/src/agent/agent-as-tool.d.ts.map +1 -1
  3. package/dist/src/agent/agent-as-tool.js +16 -0
  4. package/dist/src/agent/agent-as-tool.js.map +1 -1
  5. package/dist/src/agent/agent-delegation.d.ts +85 -0
  6. package/dist/src/agent/agent-delegation.d.ts.map +1 -0
  7. package/dist/src/agent/agent-delegation.js +290 -0
  8. package/dist/src/agent/agent-delegation.js.map +1 -0
  9. package/dist/src/agent/agent.d.ts.map +1 -1
  10. package/dist/src/agent/agent.js +6 -0
  11. package/dist/src/agent/agent.js.map +1 -1
  12. package/dist/src/experimental/vended-tools/stop/index.d.ts.map +1 -0
  13. package/dist/src/experimental/vended-tools/stop/index.js.map +1 -0
  14. package/dist/src/{vended-tools → experimental/vended-tools}/stop/stop.d.ts +7 -3
  15. package/dist/src/experimental/vended-tools/stop/stop.d.ts.map +1 -0
  16. package/dist/src/{vended-tools → experimental/vended-tools}/stop/stop.js +7 -3
  17. package/dist/src/experimental/vended-tools/stop/stop.js.map +1 -0
  18. package/dist/src/experimental/vended-tools/stop/types.d.ts.map +1 -0
  19. package/dist/src/experimental/vended-tools/stop/types.js.map +1 -0
  20. package/dist/src/session/session-manager.d.ts +3 -2
  21. package/dist/src/session/session-manager.d.ts.map +1 -1
  22. package/dist/src/session/session-manager.js +2 -2
  23. package/dist/src/session/session-manager.js.map +1 -1
  24. package/dist/src/storage/in-memory-storage.d.ts +4 -3
  25. package/dist/src/storage/in-memory-storage.d.ts.map +1 -1
  26. package/dist/src/storage/in-memory-storage.js +4 -3
  27. package/dist/src/storage/in-memory-storage.js.map +1 -1
  28. package/dist/src/storage/local-file-storage.d.ts +1 -1
  29. package/dist/src/storage/local-file-storage.js +1 -1
  30. package/dist/src/storage/s3-storage.d.ts +1 -1
  31. package/dist/src/storage/s3-storage.js +1 -1
  32. package/dist/src/storage/storage.d.ts +21 -8
  33. package/dist/src/storage/storage.d.ts.map +1 -1
  34. package/dist/src/storage/storage.js +16 -5
  35. package/dist/src/storage/storage.js.map +1 -1
  36. package/dist/src/tools/executors/executor.d.ts +1 -0
  37. package/dist/src/tools/executors/executor.d.ts.map +1 -1
  38. package/dist/src/tools/executors/executor.js +5 -2
  39. package/dist/src/tools/executors/executor.js.map +1 -1
  40. package/dist/src/tsconfig.tsbuildinfo +1 -1
  41. package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
  42. package/dist/src/vended-plugins/context-offloader/plugin.js +7 -0
  43. package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
  44. package/dist/src/vended-tools/index.d.ts +1 -2
  45. package/dist/src/vended-tools/index.d.ts.map +1 -1
  46. package/dist/src/vended-tools/index.js +1 -2
  47. package/dist/src/vended-tools/index.js.map +1 -1
  48. package/package.json +4 -4
  49. package/dist/src/vended-tools/stop/index.d.ts.map +0 -1
  50. package/dist/src/vended-tools/stop/index.js.map +0 -1
  51. package/dist/src/vended-tools/stop/stop.d.ts.map +0 -1
  52. package/dist/src/vended-tools/stop/stop.js.map +0 -1
  53. package/dist/src/vended-tools/stop/types.d.ts.map +0 -1
  54. package/dist/src/vended-tools/stop/types.js.map +0 -1
  55. /package/dist/src/{vended-tools → experimental/vended-tools}/stop/index.d.ts +0 -0
  56. /package/dist/src/{vended-tools → experimental/vended-tools}/stop/index.js +0 -0
  57. /package/dist/src/{vended-tools → experimental/vended-tools}/stop/types.d.ts +0 -0
  58. /package/dist/src/{vended-tools → experimental/vended-tools}/stop/types.js +0 -0
@@ -7,8 +7,13 @@ import { StorageError } from '../errors.js';
7
7
  */
8
8
  export const NAMESPACED = Symbol.for('strands.storage.namespaced');
9
9
  /**
10
- * Validates and normalizes a storage key: collapses runs of `/`, strips leading
11
- * and trailing `/`, and rejects empty keys and any `..` segment.
10
+ * Validates and normalizes a storage key for path-based backends: collapses
11
+ * runs of `/`, strips leading and trailing `/`, and rejects empty keys and
12
+ * any `..` segment.
13
+ *
14
+ * Used by the shipped path-based backends ({@link InMemoryStorage},
15
+ * {@link LocalFileStorage}, {@link S3Storage}), not required by the
16
+ * {@link Storage} interface itself.
12
17
  *
13
18
  * @param key - The raw key to normalize
14
19
  * @returns The normalized key
@@ -25,8 +30,11 @@ export function normalizeKey(key) {
25
30
  return segments.join('/');
26
31
  }
27
32
  /**
28
- * Normalizes a list prefix: collapses slash runs, strips leading slashes.
29
- * Unlike a key, an empty prefix is valid and matches everything.
33
+ * Normalizes a list prefix for path-based backends: collapses slash runs,
34
+ * strips leading slashes. Unlike a key, an empty prefix is valid and matches
35
+ * everything.
36
+ *
37
+ * Used by the shipped path-based backends alongside {@link normalizeKey}.
30
38
  *
31
39
  * @param prefix - The raw prefix to normalize
32
40
  * @returns The normalized prefix
@@ -46,10 +54,13 @@ export function normalizePrefix(prefix) {
46
54
  * Returns a {@link Storage} view with all keys prefixed by `prefix`.
47
55
  *
48
56
  * Composable — calling `namespace()` on the result nests prefixes.
57
+ * Uses {@link normalizePrefix} to sanitize the prefix, so it assumes a
58
+ * `/`-separated key scheme. Backends with a different key scheme should
59
+ * implement their own namespacing.
49
60
  *
50
61
  * @internal
51
62
  * @param storage - The underlying storage to delegate to
52
- * @param prefix - Prefix to prepend to all keys
63
+ * @param prefix - Prefix to prepend to all keys (normalized as a `/`-separated path)
53
64
  * @returns A namespaced Storage view
54
65
  */
55
66
  export function namespace(storage, prefix) {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEjF;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,wBAAwB,GAAG,uCAAuC,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,2BAA2B,MAAM,uCAAuC,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,OAAO,UAAU,CAAA;AACnB,CAAC;AAwED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAc;IACxD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,MAAM,IAAI,GAAqC;QAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;QACvD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QAC7C,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpG,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACpD,CAAC,UAAU,CAAC,EAAE,IAAI;KACnB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/storage/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAkB,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AAEjF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,YAAY,CAAC,+BAA+B,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,wBAAwB,GAAG,uCAAuC,CAAC,CAAA;IAC5F,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,YAAY,CAAC,2BAA2B,MAAM,uCAAuC,CAAC,CAAA;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACnF,OAAO,UAAU,CAAA;AACnB,CAAC;AA0ED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,MAAc;IACxD,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,MAAM,IAAI,GAAqC;QAC7C,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC;QACvD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACzC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QAC7C,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACpG,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACpD,CAAC,UAAU,CAAC,EAAE,IAAI;KACnB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -53,6 +53,7 @@ export declare abstract class ToolExecutor {
53
53
  */
54
54
  abstract execute(options: ToolExecutorOptions, input: ToolExecutionInput): AsyncGenerator<AgentStreamEvent, void, undefined>;
55
55
  protected executeTool(options: ToolExecutorOptions, toolUseBlock: ToolUseBlock, invocationState: InvocationState): AsyncGenerator<AgentStreamEvent, ToolResultBlock, undefined>;
56
+ private _shouldRetry;
56
57
  private _normalizeToolResultId;
57
58
  protected _storePendingToolExecution(options: ToolExecutorOptions, assistantMessage: Message, completedToolResults: ReadonlyMap<string, ToolResultBlock>): void;
58
59
  private _executeToolWithMiddleware;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAyC,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGzF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/C,4FAA4F;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IAC5C,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACrE;AAED;;;;GAIG;AACH,8BAAsB,YAAY;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC;cAInC,WAAW,CAC1B,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAC/B,cAAc,CAAC,gBAAgB,EAAE,eAAe,EAAE,SAAS,CAAC;IA6E/D,OAAO,CAAC,sBAAsB;IAe9B,SAAS,CAAC,0BAA0B,CAClC,OAAO,EAAE,mBAAmB,EAC5B,gBAAgB,EAAE,OAAO,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GACzD,IAAI;YAWQ,0BAA0B;YAsC1B,gBAAgB;CA8EhC"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAa,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,KAAK,EAAyC,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC1G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,KAAK,EAAE,OAAO,EAAuB,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGzF;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,oDAAoD;IACpD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAA;IAC/C,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,6BAA6B;IAC7B,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/C,4FAA4F;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAA;IAC5C,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAA;IACzC,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACrE;AAED;;;;GAIG;AACH,8BAAsB,YAAY;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAAC,gBAAgB,EAAE,IAAI,EAAE,SAAS,CAAC;cAInC,WAAW,CAC1B,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,GAC/B,cAAc,CAAC,gBAAgB,EAAE,eAAe,EAAE,SAAS,CAAC;IA6E/D,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,sBAAsB;IAe9B,SAAS,CAAC,0BAA0B,CAClC,OAAO,EAAE,mBAAmB,EAC5B,gBAAgB,EAAE,OAAO,EACzB,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GACzD,IAAI;YAWQ,0BAA0B;YAsC1B,gBAAgB;CA8EhC"}
@@ -53,7 +53,7 @@ export class ToolExecutor {
53
53
  invocationState,
54
54
  });
55
55
  yield afterToolCallEvent;
56
- if (afterToolCallEvent.retry) {
56
+ if (this._shouldRetry(options.agent, afterToolCallEvent)) {
57
57
  continue;
58
58
  }
59
59
  return this._normalizeToolResultId(afterToolCallEvent.result, toolUseBlock.toolUseId);
@@ -69,7 +69,7 @@ export class ToolExecutor {
69
69
  ...(error !== undefined && { error }),
70
70
  });
71
71
  yield afterToolCallEvent;
72
- if (afterToolCallEvent.retry) {
72
+ if (this._shouldRetry(options.agent, afterToolCallEvent)) {
73
73
  continue;
74
74
  }
75
75
  // Return the hook-transformed result so downstream events and the model
@@ -77,6 +77,9 @@ export class ToolExecutor {
77
77
  return this._normalizeToolResultId(afterToolCallEvent.result, toolUseBlock.toolUseId);
78
78
  }
79
79
  }
80
+ _shouldRetry(agent, afterToolCallEvent) {
81
+ return afterToolCallEvent.retry === true && !agent.cancelSignal.aborted;
82
+ }
80
83
  _normalizeToolResultId(result, toolUseId) {
81
84
  if (result.toolUseId === toolUseId) {
82
85
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/tools/executors/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACtG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AA+CpE;;;;GAIG;AACH,MAAM,OAAgB,YAAY;IAchC,8EAA8E;IAC9E,0EAA0E;IAChE,KAAK,CAAC,CAAC,WAAW,CAC1B,OAA4B,EAC5B,YAA0B,EAC1B,eAAgC;QAEhC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEtE,yEAAyE;QACzE,IAAI,OAAO,GAAG;YACZ,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,KAAK,EAAE,YAAY,CAAC,KAAK;SAC1B,CAAA;QAED,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC;gBAClD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO;gBACP,IAAI,EAAE,YAAY;gBAClB,eAAe;aAChB,CAAC,CAAA;YACF,MAAM,mBAAmB,CAAA;YAEzB,OAAO,GAAG;gBACR,GAAG,mBAAmB,CAAC,OAAO;gBAC9B,SAAS,EAAE,YAAY,CAAC,SAAS;aAClC,CAAA;YACD,uEAAuE;YACvE,6EAA6E;YAC7E,uEAAuE;YACvE,MAAM,aAAa,GACjB,mBAAmB,CAAC,YAAY;gBAChC,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YAEpG,IAAI,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,aAAa,GACjB,OAAO,mBAAmB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAA;gBACxG,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;oBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;iBACxC,CAAC,CAAA;gBACF,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;oBAChD,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO;oBACP,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,YAAY;oBACpB,eAAe;iBAChB,CAAC,CAAA;gBACF,MAAM,kBAAkB,CAAA;gBACxB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBACzD,SAAQ;gBACV,CAAC;gBACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;YACvF,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAC5C,KAAK,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC,EACxF,YAAY,CAAC,SAAS,CACvB,CAAA;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;YAC9B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;gBAChD,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO;gBACP,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,UAAU;gBAClB,eAAe;gBACf,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;aACtC,CAAC,CAAA;YACF,MAAM,kBAAkB,CAAA;YAExB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC;gBACzD,SAAQ;YACV,CAAC;YAED,wEAAwE;YACxE,0BAA0B;YAC1B,OAAO,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,KAAY,EAAE,kBAAsC;QACvE,OAAO,kBAAkB,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAA;IACzE,CAAC;IAEO,sBAAsB,CAAC,MAAuB,EAAE,SAAiB;QACvE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,MAAM,CAAA;QACf,CAAC;QAED,OAAO,IAAI,eAAe,CAAC;YACzB,SAAS;YACT,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;SAC3D,CAAC,CAAA;IACJ,CAAC;IAED,wEAAwE;IACxE,8DAA8D;IACpD,0BAA0B,CAClC,OAA4B,EAC5B,gBAAyB,EACzB,oBAA0D;QAE1D,MAAM,iBAAiB,GAAwD,EAAE,CAAA;QACjF,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACvD,iBAAiB,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,uBAAuB,CAAC;YACpD,oBAAoB,EAAE,gBAAgB,CAAC,MAAM,EAAE;YAC/C,oBAAoB,EAAE,iBAAiB;SACxC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,CAAC,0BAA0B,CACvC,OAA4B,EAC5B,IAAsB,EACtB,OAAoB,EACpB,eAAgC;QAEhC,MAAM,OAAO,GAAuB;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,OAAO,CAA2B;YACpD,eAAe;YACf,SAAS,EAAE,yBAAyB,CAClC,OAAO,CAAC,KAAK,CAAC,eAAe,EAC7B,0BAA0B,OAAO,CAAC,SAAS,EAAE,CAC9C;SACF,CAAA;QAED,gGAAgG;QAChG,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAA;QACrB,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAC/D,gBAAgB,EAChB,OAAO,EACP,KAAK,SAAS,CAAC,EACb,iBAAqC;YAErC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAC7C,OAAO,EACP,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,eAAe,CAClC,CAAA;YACD,OAAO,EAAE,MAAM,EAAE,CAAA;QACnB,CAAC,CACF,CAAA;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAA;IAChC,CAAC;IAEO,KAAK,CAAC,CAAC,gBAAgB,CAC7B,OAA4B,EAC5B,aAA+B,EAC/B,OAAoB,EACpB,eAAgC;QAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAEhC,IAAI,UAAuC,CAAA;QAC3C,IAAI,KAAwB,CAAA;QAE5B,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,UAAU,GAAG,IAAI,eAAe,CAAC;oBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;iBACzE,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAgB;oBAC/B,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB;oBACD,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,eAAe;oBACf,SAAS,EAAE,CAAgB,MAAuB,EAAK,EAAE,CACvD,kBAAkB,CAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC;iBACnG,CAAA;gBAED,qEAAqE;gBACrE,sDAAsD;gBACtD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;gBACvG,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;gBACzF,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACtB,MAAM,IAAI,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAA;oBACjG,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvF,CAAC;gBAED,UAAU;oBACR,QAAQ,CAAC,KAAK;wBACd,IAAI,eAAe,CAAC;4BAClB,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,MAAM,EAAE,OAAO;4BACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,SAAS,OAAO,CAAC,IAAI,2BAA2B,CAAC,CAAC;yBAC3E,CAAC,CAAA;gBACJ,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;YAC/B,CAAC;YAED,OAAO,UAAU,CAAA;QACnB,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,IAAI,WAAW,YAAY,cAAc,EAAE,CAAC;gBAC1C,MAAM,WAAW,CAAA;YACnB,CAAC;YAED,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAA;YACnC,UAAU,GAAG,IAAI,eAAe,CAAC;gBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,KAAK;aACN,CAAC,CAAA;YACF,OAAO,UAAU,CAAA;QACnB,CAAC;gBAAS,CAAC;YACT,+EAA+E;YAC/E,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE;gBACvC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC/C,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;aACtC,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;gBACpC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,SAAS;aAC1C,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF"}