@cloudbase/agent-tools 0.0.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 (194) hide show
  1. package/CHANGELOG.md +416 -0
  2. package/dist/agent_tool.d.ts +7 -0
  3. package/dist/agent_tool.d.ts.map +1 -0
  4. package/dist/agent_tool.js +16 -0
  5. package/dist/agent_tool.js.map +1 -0
  6. package/dist/bash/bash-tool.d.ts +61 -0
  7. package/dist/bash/bash-tool.d.ts.map +1 -0
  8. package/dist/bash/bash-tool.js +191 -0
  9. package/dist/bash/bash-tool.js.map +1 -0
  10. package/dist/bash/index.d.ts +7 -0
  11. package/dist/bash/index.d.ts.map +1 -0
  12. package/dist/bash/index.js +17 -0
  13. package/dist/bash/index.js.map +1 -0
  14. package/dist/bash/operator/base-operator.d.ts +44 -0
  15. package/dist/bash/operator/base-operator.d.ts.map +1 -0
  16. package/dist/bash/operator/base-operator.js +14 -0
  17. package/dist/bash/operator/base-operator.js.map +1 -0
  18. package/dist/bash/operator/local-operator.d.ts +15 -0
  19. package/dist/bash/operator/local-operator.d.ts.map +1 -0
  20. package/dist/bash/operator/local-operator.js +145 -0
  21. package/dist/bash/operator/local-operator.js.map +1 -0
  22. package/dist/bash/operator/sandbox-operator.d.ts +22 -0
  23. package/dist/bash/operator/sandbox-operator.d.ts.map +1 -0
  24. package/dist/bash/operator/sandbox-operator.js +112 -0
  25. package/dist/bash/operator/sandbox-operator.js.map +1 -0
  26. package/dist/bash/utils.d.ts +106 -0
  27. package/dist/bash/utils.d.ts.map +1 -0
  28. package/dist/bash/utils.js +197 -0
  29. package/dist/bash/utils.js.map +1 -0
  30. package/dist/browser/browser-instance-manager.d.ts +79 -0
  31. package/dist/browser/browser-instance-manager.d.ts.map +1 -0
  32. package/dist/browser/browser-instance-manager.js +242 -0
  33. package/dist/browser/browser-instance-manager.js.map +1 -0
  34. package/dist/browser/browser-tool-executor.d.ts +57 -0
  35. package/dist/browser/browser-tool-executor.d.ts.map +1 -0
  36. package/dist/browser/browser-tool-executor.js +205 -0
  37. package/dist/browser/browser-tool-executor.js.map +1 -0
  38. package/dist/browser/browser_client_unified.d.ts +52 -0
  39. package/dist/browser/browser_client_unified.d.ts.map +1 -0
  40. package/dist/browser/browser_client_unified.js +381 -0
  41. package/dist/browser/browser_client_unified.js.map +1 -0
  42. package/dist/browser/browser_tool_unified.d.ts +93 -0
  43. package/dist/browser/browser_tool_unified.d.ts.map +1 -0
  44. package/dist/browser/browser_tool_unified.js +181 -0
  45. package/dist/browser/browser_tool_unified.js.map +1 -0
  46. package/dist/browser/index.d.ts +7 -0
  47. package/dist/browser/index.d.ts.map +1 -0
  48. package/dist/browser/index.js +19 -0
  49. package/dist/browser/index.js.map +1 -0
  50. package/dist/browser/sandbox-connector.d.ts +93 -0
  51. package/dist/browser/sandbox-connector.d.ts.map +1 -0
  52. package/dist/browser/sandbox-connector.js +272 -0
  53. package/dist/browser/sandbox-connector.js.map +1 -0
  54. package/dist/browser/types.d.ts +53 -0
  55. package/dist/browser/types.d.ts.map +1 -0
  56. package/dist/browser/types.js +3 -0
  57. package/dist/browser/types.js.map +1 -0
  58. package/dist/code_executers/base_code_executor.d.ts +17 -0
  59. package/dist/code_executers/base_code_executor.d.ts.map +1 -0
  60. package/dist/code_executers/base_code_executor.js +20 -0
  61. package/dist/code_executers/base_code_executor.js.map +1 -0
  62. package/dist/code_executers/built_in_code_executor.d.ts +25 -0
  63. package/dist/code_executers/built_in_code_executor.d.ts.map +1 -0
  64. package/dist/code_executers/built_in_code_executor.js +106 -0
  65. package/dist/code_executers/built_in_code_executor.js.map +1 -0
  66. package/dist/code_executers/unsafe_local_code_executor.d.ts +118 -0
  67. package/dist/code_executers/unsafe_local_code_executor.d.ts.map +1 -0
  68. package/dist/code_executers/unsafe_local_code_executor.js +605 -0
  69. package/dist/code_executers/unsafe_local_code_executor.js.map +1 -0
  70. package/dist/fs/edit-tool.d.ts +26 -0
  71. package/dist/fs/edit-tool.d.ts.map +1 -0
  72. package/dist/fs/edit-tool.js +202 -0
  73. package/dist/fs/edit-tool.js.map +1 -0
  74. package/dist/fs/glob-tool.d.ts +31 -0
  75. package/dist/fs/glob-tool.d.ts.map +1 -0
  76. package/dist/fs/glob-tool.js +287 -0
  77. package/dist/fs/glob-tool.js.map +1 -0
  78. package/dist/fs/grep-tool.d.ts +32 -0
  79. package/dist/fs/grep-tool.d.ts.map +1 -0
  80. package/dist/fs/grep-tool.js +353 -0
  81. package/dist/fs/grep-tool.js.map +1 -0
  82. package/dist/fs/index.d.ts +11 -0
  83. package/dist/fs/index.d.ts.map +1 -0
  84. package/dist/fs/index.js +38 -0
  85. package/dist/fs/index.js.map +1 -0
  86. package/dist/fs/ls-tool.d.ts +26 -0
  87. package/dist/fs/ls-tool.d.ts.map +1 -0
  88. package/dist/fs/ls-tool.js +235 -0
  89. package/dist/fs/ls-tool.js.map +1 -0
  90. package/dist/fs/multiedit-tool.d.ts +34 -0
  91. package/dist/fs/multiedit-tool.d.ts.map +1 -0
  92. package/dist/fs/multiedit-tool.js +158 -0
  93. package/dist/fs/multiedit-tool.js.map +1 -0
  94. package/dist/fs/operator/base-operator.d.ts +28 -0
  95. package/dist/fs/operator/base-operator.d.ts.map +1 -0
  96. package/dist/fs/operator/base-operator.js +21 -0
  97. package/dist/fs/operator/base-operator.js.map +1 -0
  98. package/dist/fs/operator/in-memory-operator.d.ts +39 -0
  99. package/dist/fs/operator/in-memory-operator.d.ts.map +1 -0
  100. package/dist/fs/operator/in-memory-operator.js +115 -0
  101. package/dist/fs/operator/in-memory-operator.js.map +1 -0
  102. package/dist/fs/operator/index.d.ts +6 -0
  103. package/dist/fs/operator/index.d.ts.map +1 -0
  104. package/dist/fs/operator/index.js +28 -0
  105. package/dist/fs/operator/index.js.map +1 -0
  106. package/dist/fs/operator/local-operator.d.ts +25 -0
  107. package/dist/fs/operator/local-operator.d.ts.map +1 -0
  108. package/dist/fs/operator/local-operator.js +62 -0
  109. package/dist/fs/operator/local-operator.js.map +1 -0
  110. package/dist/fs/operator/sanbox-operator.d.ts +31 -0
  111. package/dist/fs/operator/sanbox-operator.d.ts.map +1 -0
  112. package/dist/fs/operator/sanbox-operator.js +172 -0
  113. package/dist/fs/operator/sanbox-operator.js.map +1 -0
  114. package/dist/fs/operator/transaction/index.d.ts +6 -0
  115. package/dist/fs/operator/transaction/index.d.ts.map +1 -0
  116. package/dist/fs/operator/transaction/index.js +28 -0
  117. package/dist/fs/operator/transaction/index.js.map +1 -0
  118. package/dist/fs/operator/transaction/snapshot-strategies.d.ts +54 -0
  119. package/dist/fs/operator/transaction/snapshot-strategies.d.ts.map +1 -0
  120. package/dist/fs/operator/transaction/snapshot-strategies.js +278 -0
  121. package/dist/fs/operator/transaction/snapshot-strategies.js.map +1 -0
  122. package/dist/fs/operator/transaction/transaction-operator.d.ts +53 -0
  123. package/dist/fs/operator/transaction/transaction-operator.d.ts.map +1 -0
  124. package/dist/fs/operator/transaction/transaction-operator.js +195 -0
  125. package/dist/fs/operator/transaction/transaction-operator.js.map +1 -0
  126. package/dist/fs/operator/transaction/transaction-utils.d.ts +80 -0
  127. package/dist/fs/operator/transaction/transaction-utils.d.ts.map +1 -0
  128. package/dist/fs/operator/transaction/transaction-utils.js +156 -0
  129. package/dist/fs/operator/transaction/transaction-utils.js.map +1 -0
  130. package/dist/fs/read-tool.d.ts +32 -0
  131. package/dist/fs/read-tool.d.ts.map +1 -0
  132. package/dist/fs/read-tool.js +271 -0
  133. package/dist/fs/read-tool.js.map +1 -0
  134. package/dist/fs/str-replace-editor.d.ts +23 -0
  135. package/dist/fs/str-replace-editor.d.ts.map +1 -0
  136. package/dist/fs/str-replace-editor.js +74 -0
  137. package/dist/fs/str-replace-editor.js.map +1 -0
  138. package/dist/fs/toolkit.d.ts +61 -0
  139. package/dist/fs/toolkit.d.ts.map +1 -0
  140. package/dist/fs/toolkit.js +113 -0
  141. package/dist/fs/toolkit.js.map +1 -0
  142. package/dist/fs/utils.d.ts +32 -0
  143. package/dist/fs/utils.d.ts.map +1 -0
  144. package/dist/fs/utils.js +133 -0
  145. package/dist/fs/utils.js.map +1 -0
  146. package/dist/fs/write-tool.d.ts +26 -0
  147. package/dist/fs/write-tool.d.ts.map +1 -0
  148. package/dist/fs/write-tool.js +110 -0
  149. package/dist/fs/write-tool.js.map +1 -0
  150. package/dist/index.d.ts +10 -0
  151. package/dist/index.d.ts.map +1 -0
  152. package/dist/index.js +40 -0
  153. package/dist/index.js.map +1 -0
  154. package/dist/mcp/agkit-mcp-server.d.ts +291 -0
  155. package/dist/mcp/agkit-mcp-server.d.ts.map +1 -0
  156. package/dist/mcp/agkit-mcp-server.js +821 -0
  157. package/dist/mcp/agkit-mcp-server.js.map +1 -0
  158. package/dist/mcp/client-tool.d.ts +65 -0
  159. package/dist/mcp/client-tool.d.ts.map +1 -0
  160. package/dist/mcp/client-tool.js +220 -0
  161. package/dist/mcp/client-tool.js.map +1 -0
  162. package/dist/mcp/index.d.ts +14 -0
  163. package/dist/mcp/index.d.ts.map +1 -0
  164. package/dist/mcp/index.js +26 -0
  165. package/dist/mcp/index.js.map +1 -0
  166. package/dist/mcp/mcp-client-manager.d.ts +153 -0
  167. package/dist/mcp/mcp-client-manager.d.ts.map +1 -0
  168. package/dist/mcp/mcp-client-manager.js +606 -0
  169. package/dist/mcp/mcp-client-manager.js.map +1 -0
  170. package/dist/mcp/mcp-toolkit.d.ts +112 -0
  171. package/dist/mcp/mcp-toolkit.d.ts.map +1 -0
  172. package/dist/mcp/mcp-toolkit.js +188 -0
  173. package/dist/mcp/mcp-toolkit.js.map +1 -0
  174. package/dist/mcp/types.d.ts +157 -0
  175. package/dist/mcp/types.d.ts.map +1 -0
  176. package/dist/mcp/types.js +34 -0
  177. package/dist/mcp/types.js.map +1 -0
  178. package/dist/mcp/utils.d.ts +17 -0
  179. package/dist/mcp/utils.d.ts.map +1 -0
  180. package/dist/mcp/utils.js +48 -0
  181. package/dist/mcp/utils.js.map +1 -0
  182. package/dist/types/index.d.ts +31 -0
  183. package/dist/types/index.d.ts.map +1 -0
  184. package/dist/types/index.js +3 -0
  185. package/dist/types/index.js.map +1 -0
  186. package/dist/types/zod.d.ts +18 -0
  187. package/dist/types/zod.d.ts.map +1 -0
  188. package/dist/types/zod.js +3 -0
  189. package/dist/types/zod.js.map +1 -0
  190. package/dist/utils.d.ts +141 -0
  191. package/dist/utils.d.ts.map +1 -0
  192. package/dist/utils.js +379 -0
  193. package/dist/utils.js.map +1 -0
  194. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash-tool.js","sourceRoot":"","sources":["../../src/bash/bash-tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { BaseBashOperator } from "./operator/base-operator";
2
+ export { LocalBashOperator } from "./operator/local-operator";
3
+ export { SandboxBashOperator } from "./operator/sandbox-operator";
4
+ export { createBashTool, createMultiCommandTool, type BashExecutionContext, type BashToolInput, type MultiCommandInput, type MultiCommandResponse, } from "./bash-tool";
5
+ export { CommandBuilders } from "./utils";
6
+ export type { CommandResult, CommandOptions } from "./operator/base-operator";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bash/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandBuilders = exports.createMultiCommandTool = exports.createBashTool = exports.SandboxBashOperator = exports.LocalBashOperator = exports.BaseBashOperator = void 0;
4
+ // Operators
5
+ var base_operator_1 = require("./operator/base-operator");
6
+ Object.defineProperty(exports, "BaseBashOperator", { enumerable: true, get: function () { return base_operator_1.BaseBashOperator; } });
7
+ var local_operator_1 = require("./operator/local-operator");
8
+ Object.defineProperty(exports, "LocalBashOperator", { enumerable: true, get: function () { return local_operator_1.LocalBashOperator; } });
9
+ var sandbox_operator_1 = require("./operator/sandbox-operator");
10
+ Object.defineProperty(exports, "SandboxBashOperator", { enumerable: true, get: function () { return sandbox_operator_1.SandboxBashOperator; } });
11
+ // Tools
12
+ var bash_tool_1 = require("./bash-tool");
13
+ Object.defineProperty(exports, "createBashTool", { enumerable: true, get: function () { return bash_tool_1.createBashTool; } });
14
+ Object.defineProperty(exports, "createMultiCommandTool", { enumerable: true, get: function () { return bash_tool_1.createMultiCommandTool; } });
15
+ var utils_1 = require("./utils");
16
+ Object.defineProperty(exports, "CommandBuilders", { enumerable: true, get: function () { return utils_1.CommandBuilders; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bash/index.ts"],"names":[],"mappings":";;;AAAA,YAAY;AACZ,0DAA4D;AAAnD,iHAAA,gBAAgB,OAAA;AACzB,4DAA8D;AAArD,mHAAA,iBAAiB,OAAA;AAC1B,gEAAkE;AAAzD,uHAAA,mBAAmB,OAAA;AAE5B,QAAQ;AACR,yCAOqB;AANnB,2GAAA,cAAc,OAAA;AACd,mHAAA,sBAAsB,OAAA;AAOxB,iCAA0C;AAAjC,wGAAA,eAAe,OAAA"}
@@ -0,0 +1,44 @@
1
+ export interface CommandResult {
2
+ success: boolean;
3
+ exitCode: number | null;
4
+ stdout: string;
5
+ stderr: string;
6
+ executionTime: number;
7
+ }
8
+ export interface CommandOptions {
9
+ cwd?: string;
10
+ env?: NodeJS.ProcessEnv;
11
+ timeout?: number;
12
+ input?: string;
13
+ shell?: string | boolean;
14
+ onStdout?: (data: string) => void;
15
+ onStderr?: (data: string) => void;
16
+ }
17
+ export declare abstract class BaseBashOperator {
18
+ constructor();
19
+ /**
20
+ * Execute a command and return the result
21
+ */
22
+ abstract executeCommand(command: string, options?: CommandOptions): Promise<CommandResult>;
23
+ /**
24
+ * Get the current working directory
25
+ */
26
+ abstract getCurrentDirectory(): Promise<string>;
27
+ /**
28
+ * Change the current working directory
29
+ */
30
+ abstract changeDirectory(path: string): Promise<void>;
31
+ /**
32
+ * Get environment variables
33
+ */
34
+ abstract getEnvironmentVariables(): Promise<NodeJS.ProcessEnv>;
35
+ /**
36
+ * Set environment variables
37
+ */
38
+ abstract setEnvironmentVariable(key: string, value: string): Promise<void>;
39
+ /**
40
+ * Cleanup resources
41
+ */
42
+ cleanup(): Promise<void>;
43
+ }
44
+ //# sourceMappingURL=base-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-operator.d.ts","sourceRoot":"","sources":["../../../src/bash/operator/base-operator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,8BAAsB,gBAAgB;;IAGpC;;OAEG;IACH,QAAQ,CAAC,cAAc,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAE/C;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAErD;;OAEG;IACH,QAAQ,CAAC,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAE9D;;OAEG;IACH,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseBashOperator = void 0;
4
+ class BaseBashOperator {
5
+ constructor() { }
6
+ /**
7
+ * Cleanup resources
8
+ */
9
+ async cleanup() {
10
+ // Default implementation - subclasses can override
11
+ }
12
+ }
13
+ exports.BaseBashOperator = BaseBashOperator;
14
+ //# sourceMappingURL=base-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-operator.js","sourceRoot":"","sources":["../../../src/bash/operator/base-operator.ts"],"names":[],"mappings":";;;AAkBA,MAAsB,gBAAgB;IACpC,gBAAe,CAAC;IA8BhB;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,mDAAmD;IACrD,CAAC;CACF;AArCD,4CAqCC"}
@@ -0,0 +1,15 @@
1
+ import { BaseBashOperator, CommandResult, CommandOptions } from "./base-operator";
2
+ export declare class LocalBashOperator extends BaseBashOperator {
3
+ private currentWorkingDirectory;
4
+ private environmentVariables;
5
+ constructor(options?: {
6
+ cwd?: string;
7
+ env?: NodeJS.ProcessEnv;
8
+ });
9
+ executeCommand(command: string, options?: CommandOptions): Promise<CommandResult>;
10
+ getCurrentDirectory(): Promise<string>;
11
+ changeDirectory(targetPath: string): Promise<void>;
12
+ getEnvironmentVariables(): Promise<NodeJS.ProcessEnv>;
13
+ setEnvironmentVariable(key: string, value: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=local-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-operator.d.ts","sourceRoot":"","sources":["../../../src/bash/operator/local-operator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAC;AAGzB,qBAAa,iBAAkB,SAAQ,gBAAgB;IACrD,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,oBAAoB,CAAoB;gBAEpC,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE;IASzD,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IA6EnB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAStC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAIrD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxE"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LocalBashOperator = void 0;
37
+ const cross_spawn_1 = require("cross-spawn");
38
+ const base_operator_1 = require("./base-operator");
39
+ const path = __importStar(require("path"));
40
+ class LocalBashOperator extends base_operator_1.BaseBashOperator {
41
+ constructor(options) {
42
+ super();
43
+ this.currentWorkingDirectory = options?.cwd || process.cwd();
44
+ this.environmentVariables = {
45
+ ...process.env,
46
+ ...options?.env,
47
+ };
48
+ }
49
+ async executeCommand(command, options = {}) {
50
+ const startTime = Date.now();
51
+ return new Promise((resolve) => {
52
+ const mergedOptions = {
53
+ cwd: options.cwd || this.currentWorkingDirectory,
54
+ env: { ...this.environmentVariables, ...options.env },
55
+ timeout: options.timeout || 30000,
56
+ shell: options.shell !== undefined ? options.shell : true,
57
+ };
58
+ const child = (0, cross_spawn_1.spawn)(command, [], {
59
+ cwd: mergedOptions.cwd,
60
+ env: mergedOptions.env,
61
+ shell: mergedOptions.shell,
62
+ timeout: mergedOptions.timeout,
63
+ });
64
+ let stdout = "";
65
+ let stderr = "";
66
+ // Handle stdout
67
+ if (child.stdout) {
68
+ child.stdout.on("data", (data) => {
69
+ const text = data.toString();
70
+ stdout += text;
71
+ if (options.onStdout) {
72
+ options.onStdout(text);
73
+ }
74
+ });
75
+ }
76
+ // Handle stderr
77
+ if (child.stderr) {
78
+ child.stderr.on("data", (data) => {
79
+ const text = data.toString();
80
+ stderr += text;
81
+ if (options.onStderr) {
82
+ options.onStderr(text);
83
+ }
84
+ });
85
+ }
86
+ // Handle stdin if input is provided
87
+ if (options.input && child.stdin) {
88
+ child.stdin.write(options.input);
89
+ child.stdin.end();
90
+ }
91
+ // Handle process completion
92
+ child.on("close", (code) => {
93
+ const executionTime = Date.now() - startTime;
94
+ resolve({
95
+ success: code === 0,
96
+ exitCode: code,
97
+ stdout: stdout.trim(),
98
+ stderr: stderr.trim(),
99
+ executionTime,
100
+ });
101
+ });
102
+ // Handle process errors
103
+ child.on("error", (error) => {
104
+ const executionTime = Date.now() - startTime;
105
+ resolve({
106
+ success: false,
107
+ exitCode: null,
108
+ stdout: stdout.trim(),
109
+ stderr: error.message,
110
+ executionTime,
111
+ });
112
+ });
113
+ });
114
+ }
115
+ async getCurrentDirectory() {
116
+ const result = await this.executeCommand("pwd");
117
+ if (result.success) {
118
+ this.currentWorkingDirectory = result.stdout.trim();
119
+ return this.currentWorkingDirectory;
120
+ }
121
+ return this.currentWorkingDirectory;
122
+ }
123
+ async changeDirectory(targetPath) {
124
+ // Resolve the path
125
+ const resolvedPath = path.isAbsolute(targetPath)
126
+ ? targetPath
127
+ : path.resolve(this.currentWorkingDirectory, targetPath);
128
+ // Test if directory exists and is accessible
129
+ const result = await this.executeCommand(`cd "${resolvedPath}" && pwd`);
130
+ if (result.success) {
131
+ this.currentWorkingDirectory = result.stdout.trim();
132
+ }
133
+ else {
134
+ throw new Error(`Failed to change directory to ${targetPath}: ${result.stderr}`);
135
+ }
136
+ }
137
+ async getEnvironmentVariables() {
138
+ return { ...this.environmentVariables };
139
+ }
140
+ async setEnvironmentVariable(key, value) {
141
+ this.environmentVariables[key] = value;
142
+ }
143
+ }
144
+ exports.LocalBashOperator = LocalBashOperator;
145
+ //# sourceMappingURL=local-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-operator.js","sourceRoot":"","sources":["../../../src/bash/operator/local-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BaseBashOperator, CommandResult, CommandOptions } from "./base-operator";
2
+ import { Sandbox } from "@e2b/code-interpreter";
3
+ export declare class SandboxBashOperator extends BaseBashOperator {
4
+ private sandbox;
5
+ private currentWorkingDirectory;
6
+ private environmentVariables;
7
+ constructor(options: {
8
+ sandbox: Sandbox;
9
+ cwd?: string;
10
+ env?: Record<string, string>;
11
+ });
12
+ executeCommand(command: string, options?: CommandOptions): Promise<CommandResult>;
13
+ getCurrentDirectory(): Promise<string>;
14
+ changeDirectory(targetPath: string): Promise<void>;
15
+ getEnvironmentVariables(): Promise<NodeJS.ProcessEnv>;
16
+ setEnvironmentVariable(key: string, value: string): Promise<void>;
17
+ /**
18
+ * Get sandbox instance for advanced operations
19
+ */
20
+ getSandbox(): Sandbox;
21
+ }
22
+ //# sourceMappingURL=sandbox-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-operator.d.ts","sourceRoot":"","sources":["../../../src/bash/operator/sandbox-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAiB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,mBAAoB,SAAQ,gBAAgB;IACvD,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,oBAAoB,CAAyB;gBAEzC,OAAO,EAAE;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC9B;IAOK,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAkFnB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAStC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAIrD,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SandboxBashOperator = void 0;
4
+ const base_operator_1 = require("./base-operator");
5
+ class SandboxBashOperator extends base_operator_1.BaseBashOperator {
6
+ constructor(options) {
7
+ super();
8
+ this.sandbox = options.sandbox;
9
+ this.currentWorkingDirectory = options.cwd || "/home/user";
10
+ this.environmentVariables = options.env || {};
11
+ }
12
+ async executeCommand(command, options = {}) {
13
+ const startTime = Date.now();
14
+ let commandHandler = null;
15
+ try {
16
+ // Prepare environment variables
17
+ const env = {
18
+ ...this.environmentVariables,
19
+ ...options.env,
20
+ };
21
+ // Build the full command with environment and working directory
22
+ let fullCommand = command;
23
+ // Set working directory if different from current
24
+ const targetCwd = options.cwd || this.currentWorkingDirectory;
25
+ if (targetCwd !== "/home/user") {
26
+ fullCommand = `cd "${targetCwd}" && ${command}`;
27
+ }
28
+ // Wait for the process to complete
29
+ commandHandler = await this.sandbox.commands.run(fullCommand, {
30
+ envs: env,
31
+ cwd: targetCwd,
32
+ background: true,
33
+ onStdout: (data) => {
34
+ options.onStdout?.(data);
35
+ },
36
+ onStderr: (data) => {
37
+ options.onStderr?.(data);
38
+ },
39
+ });
40
+ const executionTime = Date.now() - startTime;
41
+ // Handle input if provided
42
+ if (options.input) {
43
+ await this.sandbox.commands.sendStdin(commandHandler.pid, options.input);
44
+ }
45
+ const commandResult = await commandHandler.wait();
46
+ const { exitCode, stderr, stdout } = commandResult;
47
+ return {
48
+ success: exitCode === 0,
49
+ exitCode: exitCode,
50
+ stdout: stdout.trim(),
51
+ stderr: stderr.trim(),
52
+ executionTime,
53
+ };
54
+ }
55
+ catch (error) {
56
+ const executionTime = Date.now() - startTime;
57
+ if (commandHandler) {
58
+ await this.sandbox.commands.kill(commandHandler.pid).catch((error) => {
59
+ return false;
60
+ });
61
+ }
62
+ let result = {
63
+ success: false,
64
+ exitCode: null,
65
+ stdout: "",
66
+ stderr: error instanceof Error ? error.message : String(error),
67
+ executionTime,
68
+ };
69
+ if (error?.result) {
70
+ result = {
71
+ ...result,
72
+ exitCode: error.result.exitCode,
73
+ stdout: error.result.stdout,
74
+ stderr: error.result.stderr,
75
+ };
76
+ }
77
+ return result;
78
+ }
79
+ }
80
+ async getCurrentDirectory() {
81
+ const result = await this.executeCommand("pwd");
82
+ if (result.success) {
83
+ this.currentWorkingDirectory = result.stdout.trim();
84
+ return this.currentWorkingDirectory;
85
+ }
86
+ return this.currentWorkingDirectory;
87
+ }
88
+ async changeDirectory(targetPath) {
89
+ // Test if directory exists and is accessible
90
+ const result = await this.executeCommand(`cd "${targetPath}" && pwd`);
91
+ if (result.success) {
92
+ this.currentWorkingDirectory = result.stdout.trim();
93
+ }
94
+ else {
95
+ throw new Error(`Failed to change directory to ${targetPath}: ${result.stderr}`);
96
+ }
97
+ }
98
+ async getEnvironmentVariables() {
99
+ return { ...this.environmentVariables };
100
+ }
101
+ async setEnvironmentVariable(key, value) {
102
+ this.environmentVariables[key] = value;
103
+ }
104
+ /**
105
+ * Get sandbox instance for advanced operations
106
+ */
107
+ getSandbox() {
108
+ return this.sandbox;
109
+ }
110
+ }
111
+ exports.SandboxBashOperator = SandboxBashOperator;
112
+ //# sourceMappingURL=sandbox-operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-operator.js","sourceRoot":"","sources":["../../../src/bash/operator/sandbox-operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ import { BashExecutionContext } from "./bash-tool";
2
+ import { Sandbox } from "@e2b/code-interpreter";
3
+ /**
4
+ * Create a local bash execution context
5
+ */
6
+ export declare function createLocalBashContext(options?: {
7
+ cwd?: string;
8
+ env?: NodeJS.ProcessEnv;
9
+ defaultTimeout?: number;
10
+ }): BashExecutionContext;
11
+ /**
12
+ * Create a sandbox bash execution context
13
+ */
14
+ export declare function createSandboxBashContext(options: {
15
+ sandbox: Sandbox;
16
+ cwd?: string;
17
+ env?: Record<string, string>;
18
+ defaultTimeout?: number;
19
+ }): BashExecutionContext;
20
+ /**
21
+ * Validate command for security (basic checks)
22
+ */
23
+ export declare function validateCommand(command: string): {
24
+ isValid: boolean;
25
+ reason?: string;
26
+ };
27
+ /**
28
+ * Escape shell arguments
29
+ */
30
+ export declare function escapeShellArg(arg: string): string;
31
+ /**
32
+ * Build command with escaped arguments
33
+ */
34
+ export declare function buildCommand(command: string, args?: string[]): string;
35
+ /**
36
+ * Parse command output for common patterns
37
+ */
38
+ export declare function parseCommandOutput(stdout: string, stderr: string): {
39
+ lines: string[];
40
+ errorLines: string[];
41
+ isEmpty: boolean;
42
+ hasErrors: boolean;
43
+ exitedCleanly: boolean;
44
+ };
45
+ /**
46
+ * Format execution time
47
+ */
48
+ export declare function formatExecutionTime(ms: number): string;
49
+ /**
50
+ * Common command builders
51
+ */
52
+ export declare const CommandBuilders: {
53
+ /**
54
+ * List files with details
55
+ */
56
+ listFiles: (path?: string, options?: {
57
+ all?: boolean;
58
+ long?: boolean;
59
+ human?: boolean;
60
+ }) => string;
61
+ /**
62
+ * Find files by pattern
63
+ */
64
+ findFiles: (pattern: string, path?: string) => string;
65
+ /**
66
+ * Search in files
67
+ */
68
+ grep: (pattern: string, files?: string, options?: {
69
+ recursive?: boolean;
70
+ ignoreCase?: boolean;
71
+ lineNumbers?: boolean;
72
+ }) => string;
73
+ /**
74
+ * Check if file/directory exists
75
+ */
76
+ exists: (path: string) => string;
77
+ /**
78
+ * Get file info
79
+ */
80
+ stat: (path: string) => string;
81
+ /**
82
+ * Create directory
83
+ */
84
+ mkdir: (path: string, options?: {
85
+ parents?: boolean;
86
+ }) => string;
87
+ /**
88
+ * Copy files
89
+ */
90
+ copy: (source: string, destination: string, options?: {
91
+ recursive?: boolean;
92
+ preserve?: boolean;
93
+ }) => string;
94
+ /**
95
+ * Move/rename files
96
+ */
97
+ move: (source: string, destination: string) => string;
98
+ /**
99
+ * Remove files/directories
100
+ */
101
+ remove: (path: string, options?: {
102
+ recursive?: boolean;
103
+ force?: boolean;
104
+ }) => string;
105
+ };
106
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bash/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,oBAAoB,CAYvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,oBAAoB,CAavB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAqBA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,MAAM,CAOzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;EAQhE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;uBAEK,MAAM,YACF;QACR,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;IASH;;OAEG;yBACkB,MAAM,SAAQ,MAAM;IAIzC;;OAEG;oBAEQ,MAAM,UACR,MAAM,YACH;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;IASH;;OAEG;mBACY,MAAM;IAIrB;;OAEG;iBACU,MAAM;IAInB;;OAEG;kBACW,MAAM,YAAY;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAMrD;;OAEG;mBAEO,MAAM,eACD,MAAM,YACT;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IAQH;;OAEG;mBACY,MAAM,eAAe,MAAM;IAI1C;;OAEG;mBAEK,MAAM,YACF;QACR,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAOJ,CAAC"}