@strands-agents/sdk 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/src/agent/agent.d.ts.map +1 -1
  2. package/dist/src/agent/agent.js +23 -14
  3. package/dist/src/agent/agent.js.map +1 -1
  4. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +25 -0
  5. package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
  6. package/dist/src/conversation-manager/sliding-window-conversation-manager.js +90 -2
  7. package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
  8. package/dist/src/models/bedrock.d.ts +26 -2
  9. package/dist/src/models/bedrock.d.ts.map +1 -1
  10. package/dist/src/models/bedrock.js +138 -10
  11. package/dist/src/models/bedrock.js.map +1 -1
  12. package/dist/src/models/model.d.ts +5 -0
  13. package/dist/src/models/model.d.ts.map +1 -1
  14. package/dist/src/models/model.js.map +1 -1
  15. package/dist/src/sandbox/docker.js +1 -1
  16. package/dist/src/sandbox/docker.js.map +1 -1
  17. package/dist/src/sandbox/ssh.js +1 -1
  18. package/dist/src/sandbox/ssh.js.map +1 -1
  19. package/dist/src/tsconfig.tsbuildinfo +1 -1
  20. package/dist/src/vended-tools/bash/index.d.ts +13 -7
  21. package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
  22. package/dist/src/vended-tools/bash/index.js +13 -6
  23. package/dist/src/vended-tools/bash/index.js.map +1 -1
  24. package/dist/src/vended-tools/bash/types.d.ts +4 -24
  25. package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
  26. package/dist/src/vended-tools/bash/types.js +4 -31
  27. package/dist/src/vended-tools/bash/types.js.map +1 -1
  28. package/dist/src/vended-tools/index.d.ts +1 -0
  29. package/dist/src/vended-tools/index.d.ts.map +1 -1
  30. package/dist/src/vended-tools/index.js +1 -0
  31. package/dist/src/vended-tools/index.js.map +1 -1
  32. package/dist/src/vended-tools/notebook/notebook.d.ts +1 -1
  33. package/dist/src/vended-tools/notebook/notebook.d.ts.map +1 -1
  34. package/dist/src/vended-tools/notebook/notebook.js +20 -6
  35. package/dist/src/vended-tools/notebook/notebook.js.map +1 -1
  36. package/dist/src/vended-tools/notebook/types.d.ts +15 -1
  37. package/dist/src/vended-tools/notebook/types.d.ts.map +1 -1
  38. package/dist/src/vended-tools/shell/index.d.ts +15 -0
  39. package/dist/src/vended-tools/shell/index.d.ts.map +1 -0
  40. package/dist/src/vended-tools/shell/index.js +13 -0
  41. package/dist/src/vended-tools/shell/index.js.map +1 -0
  42. package/dist/src/vended-tools/{bash → shell}/make-shell.d.ts +7 -8
  43. package/dist/src/vended-tools/shell/make-shell.d.ts.map +1 -0
  44. package/dist/src/vended-tools/{bash → shell}/make-shell.js +16 -9
  45. package/dist/src/vended-tools/shell/make-shell.js.map +1 -0
  46. package/dist/src/vended-tools/shell/types.d.ts +47 -0
  47. package/dist/src/vended-tools/shell/types.d.ts.map +1 -0
  48. package/dist/src/vended-tools/shell/types.js +34 -0
  49. package/dist/src/vended-tools/shell/types.js.map +1 -0
  50. package/package.json +6 -1
  51. package/dist/src/vended-tools/bash/make-shell.d.ts.map +0 -1
  52. package/dist/src/vended-tools/bash/make-shell.js.map +0 -1
@@ -1,13 +1,19 @@
1
1
  /**
2
- * Bash and sandbox-routed shell tools for Node.js environments.
2
+ * Persistent bash tool for Node.js environments.
3
3
  *
4
- * `bash` spawns a persistent bash process on the host. `makeShell` builds a
5
- * stateless tool that routes commands through a sandbox, which runs whichever
6
- * shell that sandbox provides.
4
+ * `bash` spawns a persistent bash process on the host and keeps state across
5
+ * calls. The stateless, sandbox-routed shell tool lives in `../shell`; its
6
+ * names are re-exported here so pre-rename imports through this path keep
7
+ * working until v2.0.0.
7
8
  */
8
9
  export { bash } from './bash.js';
9
- export { makeShell, makeBash } from './make-shell.js';
10
- export type { MakeShellOptions, MakeBashOptions } from './make-shell.js';
11
- export { SANDBOX_SHELL_DESCRIPTION, SANDBOX_BASH_DESCRIPTION, BashTimeoutError, BashSessionError, ShellTimeoutError, ShellExecutionError, } from './types.js';
10
+ export { BashTimeoutError, BashSessionError } from './types.js';
12
11
  export type { BashInput, BashOutput, ExecuteInput, RestartInput } from './types.js';
12
+ export { makeShell, makeBash } from '../shell/make-shell.js';
13
+ export type { MakeShellOptions, MakeBashOptions } from '../shell/make-shell.js';
14
+ export { SANDBOX_SHELL_DESCRIPTION, ShellTimeoutError, ShellExecutionError } from '../shell/types.js';
15
+ /**
16
+ * @deprecated SANDBOX_BASH_DESCRIPTION is deprecated and will be removed in v2.0.0. Use SANDBOX_SHELL_DESCRIPTION instead. The tool routes commands through the sandbox, which runs sh or the remote login shell rather than bash specifically.
17
+ */
18
+ export declare const SANDBOX_BASH_DESCRIPTION: string;
13
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/bash/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/bash/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC/D,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEnF,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAC5D,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAErG;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAA4B,CAAA"}
@@ -1,11 +1,18 @@
1
1
  /**
2
- * Bash and sandbox-routed shell tools for Node.js environments.
2
+ * Persistent bash tool for Node.js environments.
3
3
  *
4
- * `bash` spawns a persistent bash process on the host. `makeShell` builds a
5
- * stateless tool that routes commands through a sandbox, which runs whichever
6
- * shell that sandbox provides.
4
+ * `bash` spawns a persistent bash process on the host and keeps state across
5
+ * calls. The stateless, sandbox-routed shell tool lives in `../shell`; its
6
+ * names are re-exported here so pre-rename imports through this path keep
7
+ * working until v2.0.0.
7
8
  */
9
+ import { SANDBOX_SHELL_DESCRIPTION } from '../shell/types.js';
8
10
  export { bash } from './bash.js';
9
- export { makeShell, makeBash } from './make-shell.js';
10
- export { SANDBOX_SHELL_DESCRIPTION, SANDBOX_BASH_DESCRIPTION, BashTimeoutError, BashSessionError, ShellTimeoutError, ShellExecutionError, } from './types.js';
11
+ export { BashTimeoutError, BashSessionError } from './types.js';
12
+ export { makeShell, makeBash } from '../shell/make-shell.js';
13
+ export { SANDBOX_SHELL_DESCRIPTION, ShellTimeoutError, ShellExecutionError } from '../shell/types.js';
14
+ /**
15
+ * @deprecated SANDBOX_BASH_DESCRIPTION is deprecated and will be removed in v2.0.0. Use SANDBOX_SHELL_DESCRIPTION instead. The tool routes commands through the sandbox, which runs sh or the remote login shell rather than bash specifically.
16
+ */
17
+ export const SANDBOX_BASH_DESCRIPTION = SANDBOX_SHELL_DESCRIPTION;
11
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/bash/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/bash/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAG/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAErG;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAA"}
@@ -1,11 +1,9 @@
1
1
  /**
2
- * Type definitions for the bash and sandbox-routed shell tools.
3
- */
4
- export declare const SANDBOX_SHELL_DESCRIPTION: string;
5
- /**
6
- * @deprecated SANDBOX_BASH_DESCRIPTION is deprecated and will be removed in v2.0.0. Use SANDBOX_SHELL_DESCRIPTION instead. The tool routes commands through the sandbox, which runs sh or the remote login shell rather than bash specifically.
2
+ * Type definitions for the persistent bash tool.
3
+ *
4
+ * The sandbox-routed shell tool's types live in `../shell/types.js`; its error
5
+ * classes extend the ones here so pre-rename catch clauses keep matching.
7
6
  */
8
- export declare const SANDBOX_BASH_DESCRIPTION: string;
9
7
  /**
10
8
  * Input parameters for execute operation.
11
9
  */
@@ -67,22 +65,4 @@ export declare class BashTimeoutError extends Error {
67
65
  export declare class BashSessionError extends Error {
68
66
  constructor(message: string);
69
67
  }
70
- /**
71
- * Error thrown when a sandbox-routed shell command exceeds its timeout.
72
- *
73
- * Extends {@link BashTimeoutError} so that callers who caught the previous error
74
- * type keep working; new code should catch this instead.
75
- */
76
- export declare class ShellTimeoutError extends BashTimeoutError {
77
- constructor(message: string);
78
- }
79
- /**
80
- * Error thrown when a sandbox-routed shell command fails.
81
- *
82
- * Extends {@link BashSessionError} so that callers who caught the previous error
83
- * type keep working; new code should catch this instead.
84
- */
85
- export declare class ShellExecutionError extends BashSessionError {
86
- constructor(message: string);
87
- }
88
68
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/bash/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,QAE8C,CAAA;AAEpF;;GAEG;AACH,eAAO,MAAM,wBAAwB,QAA4B,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;gBAC3C,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/bash/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,YAAY,CAAA;AAEnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B"}
@@ -1,12 +1,9 @@
1
1
  /**
2
- * Type definitions for the bash and sandbox-routed shell tools.
3
- */
4
- export const SANDBOX_SHELL_DESCRIPTION = 'Executes shell commands. Each call runs in a fresh shell; ' +
5
- 'state such as variables and the working directory does not persist across calls.';
6
- /**
7
- * @deprecated SANDBOX_BASH_DESCRIPTION is deprecated and will be removed in v2.0.0. Use SANDBOX_SHELL_DESCRIPTION instead. The tool routes commands through the sandbox, which runs sh or the remote login shell rather than bash specifically.
2
+ * Type definitions for the persistent bash tool.
3
+ *
4
+ * The sandbox-routed shell tool's types live in `../shell/types.js`; its error
5
+ * classes extend the ones here so pre-rename catch clauses keep matching.
8
6
  */
9
- export const SANDBOX_BASH_DESCRIPTION = SANDBOX_SHELL_DESCRIPTION;
10
7
  /**
11
8
  * Error thrown when a bash command exceeds its timeout.
12
9
  */
@@ -25,28 +22,4 @@ export class BashSessionError extends Error {
25
22
  this.name = 'BashSessionError';
26
23
  }
27
24
  }
28
- /**
29
- * Error thrown when a sandbox-routed shell command exceeds its timeout.
30
- *
31
- * Extends {@link BashTimeoutError} so that callers who caught the previous error
32
- * type keep working; new code should catch this instead.
33
- */
34
- export class ShellTimeoutError extends BashTimeoutError {
35
- constructor(message) {
36
- super(message);
37
- this.name = 'ShellTimeoutError';
38
- }
39
- }
40
- /**
41
- * Error thrown when a sandbox-routed shell command fails.
42
- *
43
- * Extends {@link BashSessionError} so that callers who caught the previous error
44
- * type keep working; new code should catch this instead.
45
- */
46
- export class ShellExecutionError extends BashSessionError {
47
- constructor(message) {
48
- super(message);
49
- this.name = 'ShellExecutionError';
50
- }
51
- }
52
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/vended-tools/bash/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,yBAAyB,GACpC,4DAA4D;IAC5D,kFAAkF,CAAA;AAEpF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,yBAAyB,CAAA;AA2DjE;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/vended-tools/bash/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2DH;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  export * from './bash/index.js';
14
14
  export * from './file-editor/index.js';
15
+ export * from './shell/index.js';
15
16
  export * from './http-request/index.js';
16
17
  export * from './notebook/index.js';
17
18
  export * from './sleep/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vended-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vended-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -12,6 +12,7 @@
12
12
  */
13
13
  export * from './bash/index.js';
14
14
  export * from './file-editor/index.js';
15
+ export * from './shell/index.js';
15
16
  export * from './http-request/index.js';
16
17
  export * from './notebook/index.js';
17
18
  export * from './sleep/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vended-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vended-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
@@ -2,7 +2,7 @@
2
2
  * Notebook tool for managing persistent text notebooks.
3
3
  *
4
4
  * Notebooks are stored in agent state under the 'notebooks' key and persist within an agent session.
5
- * Supports create, list, read, write (replace/insert), and clear operations.
5
+ * Supports create, list, read, write (append/replace/insert), and clear operations.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,QAAQ;;;;;;;UAsDnB,CAAA"}
1
+ {"version":3,"file":"notebook.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"AA6CA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,QAAQ;;;;;;;UAsDnB,CAAA"}
@@ -9,7 +9,10 @@ const notebookInputSchema = z
9
9
  .enum(['create', 'list', 'read', 'write', 'clear'])
10
10
  .describe('The operation to perform: `create`, `list`, `read`, `write`, `clear`.'),
11
11
  name: z.string().optional().describe('Name of the notebook to operate on. Defaults to "default".'),
12
- newStr: z.string().optional().describe('New string for replacement or insertion operations.'),
12
+ newStr: z
13
+ .string()
14
+ .optional()
15
+ .describe('Text to append, or the new string for replacement and insertion operations.'),
13
16
  readRange: z
14
17
  .array(z.number())
15
18
  .optional()
@@ -25,17 +28,18 @@ const notebookInputSchema = z
25
28
  if (data.mode === 'write') {
26
29
  const hasReplacement = data.oldStr !== undefined && data.newStr !== undefined;
27
30
  const hasInsertion = data.insertLine !== undefined && data.newStr !== undefined;
28
- return hasReplacement || hasInsertion;
31
+ const hasAppend = data.oldStr === undefined && data.insertLine === undefined && data.newStr !== undefined;
32
+ return hasReplacement || hasInsertion || hasAppend;
29
33
  }
30
34
  return true;
31
35
  }, {
32
- message: 'Write operation requires either (oldStr + newStr) for replacement or (insertLine + newStr) for insertion',
36
+ message: 'Write operation requires newStr, optionally with oldStr for replacement or insertLine for insertion',
33
37
  });
34
38
  /**
35
39
  * Notebook tool for managing persistent text notebooks.
36
40
  *
37
41
  * Notebooks are stored in agent state under the 'notebooks' key and persist within an agent session.
38
- * Supports create, list, read, write (replace/insert), and clear operations.
42
+ * Supports create, list, read, write (append/replace/insert), and clear operations.
39
43
  *
40
44
  * @example
41
45
  * ```typescript
@@ -53,7 +57,7 @@ const notebookInputSchema = z
53
57
  */
54
58
  export const notebook = tool({
55
59
  name: 'notebook',
56
- description: 'Manages text notebooks for note-taking and documentation. Supports create, list, read, write (replace or insert), and clear operations. Notebooks persist within the agent invocation.',
60
+ description: 'Manages text notebooks for note-taking and documentation. Supports create, list, read, write (append, replace, or insert), and clear operations. In write mode: newStr alone appends to the end; newStr with oldStr replaces matching text; newStr with insertLine inserts at a position. A write only succeeds on a notebook that already exists: use list to check, or create to start a new one (create replaces any existing content). Notebooks persist within the agent invocation.',
57
61
  inputSchema: notebookInputSchema,
58
62
  callback: (input, context) => {
59
63
  if (!context) {
@@ -149,12 +153,22 @@ function handleRead(notebooks, name, readRange) {
149
153
  return selectedLines.length > 0 ? selectedLines.join('\n') : 'No valid lines found in range';
150
154
  }
151
155
  /**
152
- * Handles write operation (both string replacement and line insertion).
156
+ * Handles write operation (append, string replacement, or line insertion).
153
157
  */
154
158
  function handleWrite(notebooks, name, oldStr, newStr, insertLine) {
155
159
  if (!(name in notebooks)) {
156
160
  throw new Error(`Notebook '${name}' not found`);
157
161
  }
162
+ // Append mode
163
+ if (oldStr === undefined && insertLine === undefined && newStr !== undefined) {
164
+ if (newStr.length === 0) {
165
+ return `No changes made to notebook '${name}'`;
166
+ }
167
+ const content = notebooks[name];
168
+ const separator = content.length > 0 && !content.endsWith('\n') ? '\n' : '';
169
+ notebooks[name] = `${content}${separator}${newStr}`;
170
+ return `Appended text to notebook '${name}'`;
171
+ }
158
172
  // String replacement mode
159
173
  if (oldStr !== undefined && newStr !== undefined) {
160
174
  if (!notebooks[name].includes(oldStr)) {
@@ -1 +1 @@
1
- {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notebook.js","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/notebook.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,20 @@ export interface ReadInput {
37
37
  name?: string;
38
38
  readRange?: [number, number];
39
39
  }
40
+ /**
41
+ * Input parameters for write operation (append to the end).
42
+ * - mode: Operation mode, must be 'write'
43
+ * - name: Name of the notebook to append to
44
+ * - newStr: Text to append. A newline separator is added only when the notebook is non-empty and
45
+ * does not already end in one; an empty string is a no-op.
46
+ */
47
+ export interface WriteAppendInput {
48
+ mode: 'write';
49
+ name?: string;
50
+ newStr: string;
51
+ oldStr?: never;
52
+ insertLine?: never;
53
+ }
40
54
  /**
41
55
  * Input parameters for write operation (string replacement).
42
56
  * - mode: Operation mode, must be 'write'
@@ -75,5 +89,5 @@ export interface ClearInput {
75
89
  /**
76
90
  * Union type of all valid notebook inputs.
77
91
  */
78
- export type NotebookInput = CreateInput | ListInput | ReadInput | WriteReplaceInput | WriteInsertInput | ClearInput;
92
+ export type NotebookInput = CreateInput | ListInput | ReadInput | WriteAppendInput | WriteReplaceInput | WriteInsertInput | ClearInput;
79
93
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/notebook/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAA;IACd,UAAU,CAAC,EAAE,KAAK,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GACvB,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,CAAA"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Sandbox-routed shell tool.
3
+ *
4
+ * `makeShell` builds a stateless tool that routes commands through a
5
+ * [Sandbox](../../sandbox/base.ts), which runs `sh` locally and in Docker or
6
+ * the remote login shell over SSH. Each call runs in a fresh shell; state such
7
+ * as variables and the working directory does not persist across calls.
8
+ *
9
+ * The persistent, host-spawned `bash` tool lives in `../bash`.
10
+ */
11
+ export { makeShell, makeBash } from './make-shell.js';
12
+ export type { MakeShellOptions, MakeBashOptions } from './make-shell.js';
13
+ export { SANDBOX_SHELL_DESCRIPTION, ShellTimeoutError, ShellExecutionError } from './types.js';
14
+ export type { ShellOutput } from './types.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC9F,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Sandbox-routed shell tool.
3
+ *
4
+ * `makeShell` builds a stateless tool that routes commands through a
5
+ * [Sandbox](../../sandbox/base.ts), which runs `sh` locally and in Docker or
6
+ * the remote login shell over SSH. Each call runs in a fresh shell; state such
7
+ * as variables and the working directory does not persist across calls.
8
+ *
9
+ * The persistent, host-spawned `bash` tool lives in `../bash`.
10
+ */
11
+ export { makeShell, makeBash } from './make-shell.js';
12
+ export { SANDBOX_SHELL_DESCRIPTION, ShellTimeoutError, ShellExecutionError } from './types.js';
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAErD,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Sandbox-bound shell tool factory.
3
3
  *
4
- * Separated from bash.ts to avoid pulling Node dependencies (child_process, Buffer)
5
- * into sandbox implementations that import this.
4
+ * Lives apart from the bash tool so sandbox implementations can import it
5
+ * without pulling in Node dependencies (child_process, Buffer).
6
6
  *
7
7
  * The command runs in whichever shell the sandbox provides -- `sh` for the Docker
8
8
  * and local environments, the remote login shell over SSH -- so it must not rely
@@ -16,19 +16,18 @@ export interface MakeShellOptions {
16
16
  description?: string;
17
17
  inputSchema?: z.ZodType;
18
18
  }
19
- /**
20
- * Create a sandbox shell tool. If a sandbox is passed, it's bound at creation time.
21
- * Otherwise, the tool reads from `context.agent.sandbox` at call time.
22
- * Used by sandbox implementations in `getTools()` and by users who want a customized shell tool.
23
- */
24
19
  export declare function makeShell(options?: MakeShellOptions): ReturnType<typeof tool>;
25
20
  export declare function makeShell(sandbox: Sandbox | undefined, options?: MakeShellOptions): ReturnType<typeof tool>;
26
21
  /**
27
22
  * @deprecated makeBash is deprecated and will be removed in v2.0.0. Use makeShell instead. The tool
28
23
  * routes commands through the sandbox, which runs sh or the remote login shell rather than bash
29
24
  * specifically.
25
+ *
26
+ * Defaults the tool name to `'bash'` so callers keyed on the pre-rename name (hooks, prompts,
27
+ * tool lists) keep working until the alias is removed.
30
28
  */
31
- export declare const makeBash: typeof makeShell;
29
+ export declare function makeBash(options?: MakeShellOptions): ReturnType<typeof tool>;
30
+ export declare function makeBash(sandbox: Sandbox | undefined, options?: MakeShellOptions): ReturnType<typeof tool>;
32
31
  /**
33
32
  * @deprecated MakeBashOptions is deprecated and will be removed in v2.0.0. Use MakeShellOptions instead.
34
33
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-shell.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAQ/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;CACxB;AAgBD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC9E,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AA6B5G;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC7E,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAS3G;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Sandbox-bound shell tool factory.
3
3
  *
4
- * Separated from bash.ts to avoid pulling Node dependencies (child_process, Buffer)
5
- * into sandbox implementations that import this.
4
+ * Lives apart from the bash tool so sandbox implementations can import it
5
+ * without pulling in Node dependencies (child_process, Buffer).
6
6
  *
7
7
  * The command runs in whichever shell the sandbox provides -- `sh` for the Docker
8
8
  * and local environments, the remote login shell over SSH -- so it must not rely
@@ -17,9 +17,18 @@ const sandboxShellInputSchema = z.object({
17
17
  command: z.string().describe('The shell command to execute.'),
18
18
  timeout: z.number().positive().optional().describe('Timeout in seconds (default: 120).'),
19
19
  });
20
- export function makeShell(sandboxOrOptions, maybeOptions) {
20
+ /**
21
+ * Create a sandbox shell tool. If a sandbox is passed, it's bound at creation time.
22
+ * Otherwise, the tool reads from `context.agent.sandbox` at call time.
23
+ * Used by sandbox implementations in `getTools()` and by users who want a customized shell tool.
24
+ */
25
+ function resolveShellArgs(sandboxOrOptions, maybeOptions) {
21
26
  const boundSandbox = sandboxOrOptions instanceof Sandbox ? sandboxOrOptions : undefined;
22
27
  const options = sandboxOrOptions instanceof Sandbox || maybeOptions ? (maybeOptions ?? {}) : (sandboxOrOptions ?? {});
28
+ return { boundSandbox, options };
29
+ }
30
+ export function makeShell(sandboxOrOptions, maybeOptions) {
31
+ const { boundSandbox, options } = resolveShellArgs(sandboxOrOptions, maybeOptions);
23
32
  return tool({
24
33
  name: options.name ?? 'shell',
25
34
  description: options.description ?? SANDBOX_SHELL_DESCRIPTION,
@@ -42,10 +51,8 @@ export function makeShell(sandboxOrOptions, maybeOptions) {
42
51
  },
43
52
  });
44
53
  }
45
- /**
46
- * @deprecated makeBash is deprecated and will be removed in v2.0.0. Use makeShell instead. The tool
47
- * routes commands through the sandbox, which runs sh or the remote login shell rather than bash
48
- * specifically.
49
- */
50
- export const makeBash = makeShell;
54
+ export function makeBash(sandboxOrOptions, maybeOptions) {
55
+ const { boundSandbox, options } = resolveShellArgs(sandboxOrOptions, maybeOptions);
56
+ return makeShell(boundSandbox, { ...options, name: options.name ?? 'bash' });
57
+ }
51
58
  //# sourceMappingURL=make-shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"make-shell.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAoB,MAAM,YAAY,CAAA;AAEhH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACzF,CAAC,CAAA;AAQF;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,YAAY,GAAG,gBAAgB,YAAY,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IACvF,MAAM,OAAO,GAAG,gBAAgB,YAAY,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;IACrH,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAA;AAClC,CAAC;AAID,MAAM,UAAU,SAAS,CACvB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAElF,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,yBAAyB;QAC7D,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAmC;QAC/F,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;YACrD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;gBACtF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAiB,CAAA;YACvE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,IAAI,GAAG,YAAY,mBAAmB;oBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAChF,MAAM,IAAI,mBAAmB,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAYD,MAAM,UAAU,QAAQ,CACtB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAClF,OAAO,SAAS,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;AAC9E,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Type definitions for the sandbox-routed shell tool.
3
+ *
4
+ * The Shell* errors extend the Bash* errors from `../bash/types.js` so that
5
+ * callers who caught the pre-rename error types keep working.
6
+ */
7
+ import { BashTimeoutError, BashSessionError } from '../bash/types.js';
8
+ export declare const SANDBOX_SHELL_DESCRIPTION: string;
9
+ /**
10
+ * Error thrown when a sandbox-routed shell command exceeds its timeout.
11
+ *
12
+ * Extends {@link BashTimeoutError} so that callers who caught the previous error
13
+ * type keep working; new code should catch this instead.
14
+ */
15
+ export declare class ShellTimeoutError extends BashTimeoutError {
16
+ constructor(message: string);
17
+ }
18
+ /**
19
+ * Error thrown when a sandbox-routed shell command fails.
20
+ *
21
+ * Extends {@link BashSessionError} so that callers who caught the previous error
22
+ * type keep working; new code should catch this instead.
23
+ */
24
+ export declare class ShellExecutionError extends BashSessionError {
25
+ constructor(message: string);
26
+ }
27
+ /**
28
+ * Output format for shell command execution. Structurally identical to the bash
29
+ * tool's output, so pre-rename consumers keep working, but declared standalone;
30
+ * mirrors the Python SDK's `ShellOutput`.
31
+ */
32
+ export interface ShellOutput {
33
+ /**
34
+ * Standard output from the command.
35
+ */
36
+ output: string;
37
+ /**
38
+ * Standard error from the command.
39
+ * Empty string if no errors occurred.
40
+ */
41
+ error: string;
42
+ /**
43
+ * Allow indexing with string keys for JSONValue compatibility.
44
+ */
45
+ [key: string]: string;
46
+ }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,eAAO,MAAM,yBAAyB,QAE8C,CAAA;AAEpF;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;gBACzC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,gBAAgB;gBAC3C,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CACtB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Type definitions for the sandbox-routed shell tool.
3
+ *
4
+ * The Shell* errors extend the Bash* errors from `../bash/types.js` so that
5
+ * callers who caught the pre-rename error types keep working.
6
+ */
7
+ import { BashTimeoutError, BashSessionError } from '../bash/types.js';
8
+ export const SANDBOX_SHELL_DESCRIPTION = 'Executes shell commands. Each call runs in a fresh shell; ' +
9
+ 'state such as variables and the working directory does not persist across calls.';
10
+ /**
11
+ * Error thrown when a sandbox-routed shell command exceeds its timeout.
12
+ *
13
+ * Extends {@link BashTimeoutError} so that callers who caught the previous error
14
+ * type keep working; new code should catch this instead.
15
+ */
16
+ export class ShellTimeoutError extends BashTimeoutError {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = 'ShellTimeoutError';
20
+ }
21
+ }
22
+ /**
23
+ * Error thrown when a sandbox-routed shell command fails.
24
+ *
25
+ * Extends {@link BashSessionError} so that callers who caught the previous error
26
+ * type keep working; new code should catch this instead.
27
+ */
28
+ export class ShellExecutionError extends BashSessionError {
29
+ constructor(message) {
30
+ super(message);
31
+ this.name = 'ShellExecutionError';
32
+ }
33
+ }
34
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/vended-tools/shell/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAErE,MAAM,CAAC,MAAM,yBAAyB,GACpC,4DAA4D;IAC5D,kFAAkF,CAAA;AAEpF;;;;;GAKG;AACH,MAAM,OAAO,iBAAkB,SAAQ,gBAAgB;IACrD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strands-agents/sdk",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "TypeScript SDK for Strands Agents framework",
5
5
  "main": "dist/src/index.js",
6
6
  "module": "dist/src/index.js",
@@ -64,6 +64,10 @@
64
64
  "types": "./dist/src/vended-tools/http-request/index.d.ts",
65
65
  "default": "./dist/src/vended-tools/http-request/index.js"
66
66
  },
67
+ "./vended-tools/shell": {
68
+ "types": "./dist/src/vended-tools/shell/index.d.ts",
69
+ "default": "./dist/src/vended-tools/shell/index.js"
70
+ },
67
71
  "./vended-tools/bash": {
68
72
  "types": "./dist/src/vended-tools/bash/index.d.ts",
69
73
  "default": "./dist/src/vended-tools/bash/index.js"
@@ -243,6 +247,7 @@
243
247
  },
244
248
  "homepage": "https://github.com/strands-agents/harness-sdk#readme",
245
249
  "dependencies": {
250
+ "@smithy/fetch-http-handler": "^5.6.10",
246
251
  "@aws-sdk/client-bedrock-runtime": "^3.1097.0",
247
252
  "@types/json-schema": "^7.0.15",
248
253
  "uuid": "^14.0.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-shell.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/bash/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAS/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAA;CACxB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AAC9E,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAA;AA8B5G;;;;GAIG;AACH,eAAO,MAAM,QAAQ,kBAAY,CAAA;AAEjC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"make-shell.js","sourceRoot":"","sources":["../../../../src/vended-tools/bash/make-shell.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAE9F,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACzF,CAAC,CAAA;AAeF,MAAM,UAAU,SAAS,CACvB,gBAA6C,EAC7C,YAA+B;IAE/B,MAAM,YAAY,GAAG,gBAAgB,YAAY,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAA;IACvF,MAAM,OAAO,GAAG,gBAAgB,YAAY,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;IAErH,OAAO,IAAI,CAAC;QACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;QAC7B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,yBAAyB;QAC7D,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,uBAAuB,CAAmC;QAC/F,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;YAClE,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;YACrD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAA;gBACtF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAgB,CAAA;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,kEAAkE;gBAClE,IAAI,GAAG,YAAY,mBAAmB;oBAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBAChF,MAAM,IAAI,mBAAmB,CAAE,GAAa,CAAC,OAAO,CAAC,CAAA;YACvD,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAA"}