bash-tool 1.0.1 → 1.1.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.
package/README.md CHANGED
@@ -8,7 +8,7 @@ Generic bash tool for AI agents, compatible with [AI SDK](https://ai-sdk.dev/).
8
8
  npm install bash-tool just-bash
9
9
  ```
10
10
 
11
- For full VM support, install `@vercel/sandbox` or another sandbox product instead of `just-bash`.
11
+ For full VM support, install [`@vercel/sandbox`](https://vercel.com/docs/vercel-sandbox) or another sandbox product instead of `just-bash`.
12
12
 
13
13
  ## Usage
14
14
 
@@ -91,7 +91,7 @@ const { bash } = await createBashTool({
91
91
  });
92
92
  ```
93
93
 
94
- ### Use @vercel/sandbox for full VM
94
+ ### Use [@vercel/sandbox](https://vercel.com/docs/vercel-sandbox) for full VM
95
95
 
96
96
  ```typescript
97
97
  import { Sandbox } from "@vercel/sandbox";
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export { createBashTool } from "./tool.js";
2
- export type { BashToolkit, CommandResult, CreateBashToolOptions, JustBashInstance, Sandbox, VercelSandboxInstance, } from "./types.js";
2
+ export type { BashToolCategory, BashToolInfo, FileFormat, ToolPromptOptions, } from "./tools-prompt.js";
3
+ export { bashTools, createToolPrompt, detectFormat, discoverAvailableTools, getToolsByCategory, getToolsForFormat, toolsByFormat, } from "./tools-prompt.js";
4
+ export type { BashToolkit, CommandResult, CreateBashToolOptions, JustBashInstance, PromptOptions, Sandbox, VercelSandboxInstance, } from "./types.js";
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EACP,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { createBashTool } from "./tool.js";
2
+ export { bashTools, createToolPrompt, detectFormat, discoverAvailableTools, getToolsByCategory, getToolsForFormat, toolsByFormat, } from "./tools-prompt.js";
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAO3C,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAW,MAAM,YAAY,CAAC;AAI9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,CA4DtB"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAW,MAAM,YAAY,CAAC;AAI9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,CAuEtB"}
package/dist/tool.js CHANGED
@@ -5,6 +5,7 @@ import { isVercelSandbox, wrapVercelSandbox } from "./sandbox/vercel.js";
5
5
  import { createBashExecuteTool } from "./tools/bash.js";
6
6
  import { createReadFileTool } from "./tools/read-file.js";
7
7
  import { createWriteFileTool } from "./tools/write-file.js";
8
+ import { createToolPrompt } from "./tools-prompt.js";
8
9
  const DEFAULT_DESTINATION = "/workspace";
9
10
  /**
10
11
  * Creates a bash tool with tools for AI agents.
@@ -47,6 +48,7 @@ export async function createBashTool(options = {}) {
47
48
  }
48
49
  // 3. Create or wrap sandbox
49
50
  let sandbox;
51
+ let usingJustBash = false;
50
52
  if (options.sandbox) {
51
53
  // Check @vercel/sandbox first (more specific check)
52
54
  if (isVercelSandbox(options.sandbox)) {
@@ -54,6 +56,7 @@ export async function createBashTool(options = {}) {
54
56
  }
55
57
  else if (isJustBash(options.sandbox)) {
56
58
  sandbox = wrapJustBash(options.sandbox);
59
+ usingJustBash = true;
57
60
  }
58
61
  else {
59
62
  sandbox = options.sandbox;
@@ -69,13 +72,22 @@ export async function createBashTool(options = {}) {
69
72
  files: filesWithDestination,
70
73
  cwd: destination,
71
74
  });
75
+ usingJustBash = true;
72
76
  }
73
- // 4. Create tools
77
+ // 4. Discover available tools and generate prompt
74
78
  const fileList = Object.keys(loadedFiles);
79
+ const toolPrompt = await createToolPrompt({
80
+ sandbox,
81
+ filenames: fileList,
82
+ isJustBash: usingJustBash,
83
+ toolPrompt: options.promptOptions?.toolPrompt,
84
+ });
85
+ // 5. Create tools
75
86
  const bash = createBashExecuteTool({
76
87
  sandbox,
77
88
  cwd: destination,
78
89
  files: fileList,
90
+ toolPrompt,
79
91
  extraInstructions: options.extraInstructions,
80
92
  onBeforeBashCall: options.onBeforeBashCall,
81
93
  onAfterBashCall: options.onAfterBashCall,
package/dist/tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,YAAY,GACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAAiC,EAAE;IAEnC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,mBAAmB,CAAC;IAE/D,wCAAwC;IACxC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,MAAM,oBAAoB,GAA2B,EAAE,CAAC;IACxD,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChE,oBAAoB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;IAC/C,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAgB,CAAC;IACrB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,oDAAoD;QACpD,IAAI,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,OAAkB,CAAC;QACvC,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACvE,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,OAAO,GAAG,MAAM,qBAAqB,CAAC;YACpC,KAAK,EAAE,oBAAoB;YAC3B,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;QACxC,OAAO;QACP,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,aAAa;QACzB,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,UAAU;KAC9C,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACjC,OAAO;QACP,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,QAAQ;QACf,UAAU;QACV,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,IAAI;QACJ,QAAQ,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;QACzC,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;KAC5C,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAClC,CAAC"}
@@ -6,6 +6,8 @@ export interface CreateBashToolOptions {
6
6
  /** List of file paths available in the sandbox (relative to cwd) */
7
7
  files?: string[];
8
8
  extraInstructions?: string;
9
+ /** Auto-generated prompt describing available bash tools */
10
+ toolPrompt?: string;
9
11
  /** Callback before command execution, can modify the command */
10
12
  onBeforeBashCall?: (input: BeforeBashCallInput) => BeforeBashCallOutput | undefined;
11
13
  /** Callback after command execution, can modify the result */
@@ -1 +1 @@
1
- {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACR,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,mBAAmB,KACvB,oBAAoB,GAAG,SAAS,CAAC;IACtC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,kBAAkB,KACtB,mBAAmB,GAAG,SAAS,CAAC;CACtC;AA0CD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB;;wCA8BnE"}
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACR,MAAM,aAAa,CAAC;AAMrB,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,mBAAmB,KACvB,oBAAoB,GAAG,SAAS,CAAC;IACtC,8DAA8D;IAC9D,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,kBAAkB,KACtB,mBAAmB,GAAG,SAAS,CAAC;CACtC;AAgDD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB;;wCA8BnE"}
@@ -4,7 +4,7 @@ const bashSchema = z.object({
4
4
  command: z.string().describe("The bash command to execute"),
5
5
  });
6
6
  function generateDescription(options) {
7
- const { cwd, files, extraInstructions } = options;
7
+ const { cwd, files, extraInstructions, toolPrompt } = options;
8
8
  const lines = [
9
9
  "Execute bash commands in the sandbox environment.",
10
10
  "",
@@ -24,6 +24,11 @@ function generateDescription(options) {
24
24
  }
25
25
  lines.push("");
26
26
  }
27
+ // Add available tools prompt if provided
28
+ if (toolPrompt) {
29
+ lines.push(toolPrompt);
30
+ lines.push("");
31
+ }
27
32
  lines.push("Common operations:");
28
33
  lines.push(" ls -la # List files with details");
29
34
  lines.push(" find . -name '*.ts' # Find files by pattern");
@@ -1 +1 @@
1
- {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { Sandbox } from "./types.js";
2
+ /**
3
+ * Common bash tools for text processing used by AI agents.
4
+ */
5
+ export interface BashToolInfo {
6
+ name: string;
7
+ purpose: string;
8
+ category: BashToolCategory;
9
+ }
10
+ export type BashToolCategory = "search" | "transform" | "view" | "organize" | "compare" | "count-format" | "structured-data" | "network" | "utilities";
11
+ export type FileFormat = "json" | "yaml" | "html" | "xml" | "csv" | "toml" | "ini" | "binary" | "text";
12
+ export declare const bashTools: BashToolInfo[];
13
+ /**
14
+ * Maps file formats to the bash tools most useful for processing them.
15
+ */
16
+ export declare const toolsByFormat: Record<FileFormat, string[]>;
17
+ /**
18
+ * Get tools by category.
19
+ */
20
+ export declare function getToolsByCategory(category: BashToolCategory): BashToolInfo[];
21
+ /**
22
+ * Get tools suitable for a specific file format.
23
+ */
24
+ export declare function getToolsForFormat(format: FileFormat): BashToolInfo[];
25
+ /**
26
+ * Detect file format from filename.
27
+ */
28
+ export declare function detectFormat(filename: string): FileFormat | null;
29
+ /**
30
+ * Discover available bash tools by checking bin directories.
31
+ */
32
+ export declare function discoverAvailableTools(sandbox: Sandbox): Promise<Set<string>>;
33
+ export interface ToolPromptOptions {
34
+ /** The sandbox to check for available tools */
35
+ sandbox: Sandbox;
36
+ /** List of filenames to detect formats from */
37
+ filenames: string[];
38
+ /** Set to true if using just-bash sandbox (enables yq CSV support) */
39
+ isJustBash?: boolean;
40
+ /** Custom tool prompt. If provided, skips tool discovery and returns this value. */
41
+ toolPrompt?: string;
42
+ }
43
+ /**
44
+ * Creates a prompt describing available bash tools and format-specific tools.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const prompt = await createToolPrompt({
49
+ * sandbox,
50
+ * filenames: ["data.json", "config.yaml", "readme.md"]
51
+ * });
52
+ * // Returns something like:
53
+ * // "Available tools: cat, grep, sed, awk, head, tail, sort, jq, yq, ...
54
+ * // For JSON files: jq
55
+ * // For YAML files: yq"
56
+ * ```
57
+ */
58
+ export declare function createToolPrompt(options: ToolPromptOptions): Promise<string>;
59
+ //# sourceMappingURL=tools-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-prompt.d.ts","sourceRoot":"","sources":["../src/tools-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,WAAW,GACX,MAAM,GACN,UAAU,GACV,SAAS,GACT,cAAc,GACd,iBAAiB,GACjB,SAAS,GACT,WAAW,CAAC;AAEhB,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,CAAC;AAEX,eAAO,MAAM,SAAS,EAAE,YAAY,EAuJnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CA4CtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,YAAY,EAAE,CAE7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,EAAE,CAGpE;AA6BD;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAGhE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAqBtB;AAED,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CA4DjB"}
@@ -0,0 +1,333 @@
1
+ export const bashTools = [
2
+ {
3
+ name: "grep",
4
+ purpose: "Pattern matching and searching (regex support)",
5
+ category: "search",
6
+ },
7
+ {
8
+ name: "sed",
9
+ purpose: "Stream editor for substitution and transformation",
10
+ category: "transform",
11
+ },
12
+ {
13
+ name: "awk",
14
+ purpose: "Field-based processing and pattern scanning",
15
+ category: "transform",
16
+ },
17
+ {
18
+ name: "cat",
19
+ purpose: "Concatenate and display file contents",
20
+ category: "view",
21
+ },
22
+ { name: "head", purpose: "View first N lines of a file", category: "view" },
23
+ {
24
+ name: "tail",
25
+ purpose: "View last N lines (also follow logs with -f)",
26
+ category: "view",
27
+ },
28
+ {
29
+ name: "sort",
30
+ purpose: "Sort lines alphabetically/numerically",
31
+ category: "organize",
32
+ },
33
+ {
34
+ name: "uniq",
35
+ purpose: "Remove duplicates or count occurrences",
36
+ category: "organize",
37
+ },
38
+ {
39
+ name: "cut",
40
+ purpose: "Extract columns/fields by delimiter",
41
+ category: "organize",
42
+ },
43
+ {
44
+ name: "tr",
45
+ purpose: "Translate, squeeze, or delete characters",
46
+ category: "transform",
47
+ },
48
+ {
49
+ name: "wc",
50
+ purpose: "Count lines, words, characters",
51
+ category: "count-format",
52
+ },
53
+ {
54
+ name: "find",
55
+ purpose: "Locate files (often piped to text tools)",
56
+ category: "search",
57
+ },
58
+ {
59
+ name: "xargs",
60
+ purpose: "Build commands from stdin",
61
+ category: "utilities",
62
+ },
63
+ { name: "diff", purpose: "Compare files line by line", category: "compare" },
64
+ {
65
+ name: "jq",
66
+ purpose: "Parse and manipulate JSON",
67
+ category: "structured-data",
68
+ },
69
+ {
70
+ name: "yq",
71
+ purpose: "Parse and manipulate YAML, XML, TOML, INI (mikefarah/yq); CSV in just-bash",
72
+ category: "structured-data",
73
+ },
74
+ {
75
+ name: "tee",
76
+ purpose: "Split output to file and stdout",
77
+ category: "utilities",
78
+ },
79
+ {
80
+ name: "paste",
81
+ purpose: "Merge lines from multiple files",
82
+ category: "organize",
83
+ },
84
+ {
85
+ name: "column",
86
+ purpose: "Format text into aligned columns",
87
+ category: "count-format",
88
+ },
89
+ {
90
+ name: "printf",
91
+ purpose: "Formatted output with precise control",
92
+ category: "count-format",
93
+ },
94
+ {
95
+ name: "comm",
96
+ purpose: "Compare two sorted files (common/unique lines)",
97
+ category: "compare",
98
+ },
99
+ {
100
+ name: "rev",
101
+ purpose: "Reverse characters in each line",
102
+ category: "transform",
103
+ },
104
+ {
105
+ name: "fold",
106
+ purpose: "Wrap lines to specified width",
107
+ category: "count-format",
108
+ },
109
+ { name: "nl", purpose: "Number lines in output", category: "count-format" },
110
+ {
111
+ name: "split",
112
+ purpose: "Split file into smaller pieces",
113
+ category: "organize",
114
+ },
115
+ {
116
+ name: "join",
117
+ purpose: "SQL-like join on sorted files",
118
+ category: "organize",
119
+ },
120
+ { name: "expand", purpose: "Convert tabs to spaces", category: "transform" },
121
+ {
122
+ name: "unexpand",
123
+ purpose: "Convert spaces to tabs",
124
+ category: "transform",
125
+ },
126
+ {
127
+ name: "strings",
128
+ purpose: "Extract printable strings from binaries",
129
+ category: "view",
130
+ },
131
+ { name: "od", purpose: "Octal dump for binary inspection", category: "view" },
132
+ { name: "xxd", purpose: "Hex dump for binary inspection", category: "view" },
133
+ {
134
+ name: "iconv",
135
+ purpose: "Convert between character encodings",
136
+ category: "transform",
137
+ },
138
+ { name: "curl", purpose: "Fetch content from URLs", category: "network" },
139
+ {
140
+ name: "html-to-markdown",
141
+ purpose: "Convert HTML to markdown (just-bash)",
142
+ category: "transform",
143
+ },
144
+ { name: "node", purpose: "JavaScript runtime", category: "utilities" },
145
+ { name: "python", purpose: "Python interpreter", category: "utilities" },
146
+ {
147
+ name: "xan",
148
+ purpose: "Fast CSV processing, filtering, aggregation, and visualization",
149
+ category: "structured-data",
150
+ },
151
+ ];
152
+ /**
153
+ * Maps file formats to the bash tools most useful for processing them.
154
+ */
155
+ export const toolsByFormat = {
156
+ json: ["jq", "grep", "sed", "cat", "head", "tail"],
157
+ yaml: ["yq", "grep", "sed", "cat", "head", "tail"],
158
+ html: ["html-to-markdown", "grep", "sed", "curl", "cat"],
159
+ xml: ["yq", "grep", "sed", "awk", "cat", "head", "tail"],
160
+ csv: [
161
+ "xan",
162
+ "awk",
163
+ "cut",
164
+ "sort",
165
+ "uniq",
166
+ "join",
167
+ "paste",
168
+ "column",
169
+ "grep",
170
+ "sed",
171
+ "head",
172
+ "tail",
173
+ ],
174
+ toml: ["yq", "grep", "sed", "cat", "head", "tail"],
175
+ ini: ["yq", "grep", "sed", "cat", "head", "tail"],
176
+ binary: ["strings", "od", "xxd", "head", "tail", "split"],
177
+ text: [
178
+ "grep",
179
+ "sed",
180
+ "awk",
181
+ "cat",
182
+ "head",
183
+ "tail",
184
+ "sort",
185
+ "uniq",
186
+ "cut",
187
+ "tr",
188
+ "wc",
189
+ "diff",
190
+ "comm",
191
+ "paste",
192
+ "join",
193
+ "column",
194
+ "fold",
195
+ "nl",
196
+ "rev",
197
+ "iconv",
198
+ ],
199
+ };
200
+ /**
201
+ * Get tools by category.
202
+ */
203
+ export function getToolsByCategory(category) {
204
+ return bashTools.filter((tool) => tool.category === category);
205
+ }
206
+ /**
207
+ * Get tools suitable for a specific file format.
208
+ */
209
+ export function getToolsForFormat(format) {
210
+ const toolNames = toolsByFormat[format];
211
+ return bashTools.filter((tool) => toolNames.includes(tool.name));
212
+ }
213
+ /**
214
+ * File extension to format mapping.
215
+ */
216
+ const extensionToFormat = {
217
+ ".json": "json",
218
+ ".jsonl": "json",
219
+ ".ndjson": "json",
220
+ ".yaml": "yaml",
221
+ ".yml": "yaml",
222
+ ".html": "html",
223
+ ".htm": "html",
224
+ ".xml": "xml",
225
+ ".svg": "xml",
226
+ ".csv": "csv",
227
+ ".tsv": "csv",
228
+ ".toml": "toml",
229
+ ".ini": "ini",
230
+ ".cfg": "ini",
231
+ ".conf": "ini",
232
+ ".bin": "binary",
233
+ ".exe": "binary",
234
+ ".so": "binary",
235
+ ".dylib": "binary",
236
+ ".a": "binary",
237
+ ".o": "binary",
238
+ };
239
+ /**
240
+ * Detect file format from filename.
241
+ */
242
+ export function detectFormat(filename) {
243
+ const ext = filename.slice(filename.lastIndexOf(".")).toLowerCase();
244
+ return extensionToFormat[ext] ?? null;
245
+ }
246
+ /**
247
+ * Discover available bash tools by checking bin directories.
248
+ */
249
+ export async function discoverAvailableTools(sandbox) {
250
+ const availableTools = new Set();
251
+ const knownToolNames = new Set(bashTools.map((t) => t.name));
252
+ // List all bin directories in a single command
253
+ const result = await sandbox.executeCommand("ls /usr/bin /usr/local/bin /bin /sbin /usr/sbin 2>/dev/null");
254
+ if (result.exitCode === 0 || result.stdout) {
255
+ const tools = result.stdout.split("\n").filter(Boolean);
256
+ for (const tool of tools) {
257
+ // Skip directory headers (e.g., "/usr/bin:")
258
+ if (tool.endsWith(":"))
259
+ continue;
260
+ if (knownToolNames.has(tool)) {
261
+ availableTools.add(tool);
262
+ }
263
+ }
264
+ }
265
+ return availableTools;
266
+ }
267
+ /**
268
+ * Creates a prompt describing available bash tools and format-specific tools.
269
+ *
270
+ * @example
271
+ * ```typescript
272
+ * const prompt = await createToolPrompt({
273
+ * sandbox,
274
+ * filenames: ["data.json", "config.yaml", "readme.md"]
275
+ * });
276
+ * // Returns something like:
277
+ * // "Available tools: cat, grep, sed, awk, head, tail, sort, jq, yq, ...
278
+ * // For JSON files: jq
279
+ * // For YAML files: yq"
280
+ * ```
281
+ */
282
+ export async function createToolPrompt(options) {
283
+ const { sandbox, filenames, isJustBash = false, toolPrompt } = options;
284
+ // Return custom toolPrompt if provided
285
+ if (toolPrompt !== undefined) {
286
+ return toolPrompt;
287
+ }
288
+ // Discover available tools
289
+ const availableTools = await discoverAvailableTools(sandbox);
290
+ if (availableTools.size === 0) {
291
+ return "";
292
+ }
293
+ // Build the main tools list (sorted alphabetically)
294
+ const sortedTools = [...availableTools].sort();
295
+ const lines = [
296
+ `Available tools: ${sortedTools.join(", ")}, and more`,
297
+ ];
298
+ // Detect formats from filenames
299
+ const detectedFormats = new Set();
300
+ for (const filename of filenames) {
301
+ const format = detectFormat(filename);
302
+ if (format && format !== "text" && format !== "binary") {
303
+ detectedFormats.add(format);
304
+ }
305
+ }
306
+ // Add format-specific tool hints
307
+ const formatLabels = {
308
+ json: "JSON",
309
+ yaml: "YAML",
310
+ html: "HTML",
311
+ xml: "XML",
312
+ csv: "CSV/TSV",
313
+ toml: "TOML",
314
+ ini: "INI",
315
+ binary: "binary",
316
+ text: "text",
317
+ };
318
+ for (const format of detectedFormats) {
319
+ let formatToolNames = toolsByFormat[format];
320
+ // Add yq for CSV only in just-bash (where it has CSV support)
321
+ if (format === "csv" && isJustBash) {
322
+ formatToolNames = ["yq", ...formatToolNames];
323
+ }
324
+ const formatTools = formatToolNames.filter((t) => availableTools.has(t));
325
+ if (formatTools.length > 0) {
326
+ // Highlight the primary tool for this format
327
+ const primaryTools = formatTools.slice(0, 3).join(", ");
328
+ lines.push(`For ${formatLabels[format]}: ${primaryTools}`);
329
+ }
330
+ }
331
+ return lines.join("\n");
332
+ }
333
+ //# sourceMappingURL=tools-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools-prompt.js","sourceRoot":"","sources":["../src/tools-prompt.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -53,6 +53,16 @@ export interface AfterBashCallOutput {
53
53
  /** The (potentially modified) result */
54
54
  result: CommandResult;
55
55
  }
56
+ /**
57
+ * Options for customizing the tool prompt generation.
58
+ */
59
+ export interface PromptOptions {
60
+ /**
61
+ * Custom tool prompt to use instead of auto-generating one.
62
+ * When provided, skips tool discovery entirely.
63
+ */
64
+ toolPrompt?: string;
65
+ }
56
66
  export interface CreateBashToolOptions {
57
67
  /**
58
68
  * Destination directory on the sandbox for files.
@@ -89,6 +99,10 @@ export interface CreateBashToolOptions {
89
99
  * Additional instructions to append to tool descriptions.
90
100
  */
91
101
  extraInstructions?: string;
102
+ /**
103
+ * Options for customizing the tool prompt generation.
104
+ */
105
+ promptOptions?: PromptOptions;
92
106
  /**
93
107
  * Callback invoked before bash command execution.
94
108
  * Can modify the command before it runs.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QACjC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,eAAe,CAAC,EAAE;QAChB,mCAAmC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,CACjB,KAAK,EAAE,mBAAmB,KACvB,oBAAoB,GAAG,SAAS,CAAC;IAEtC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,kBAAkB,KACtB,mBAAmB,GAAG,SAAS,CAAC;CACtC;AAGD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,IAAI,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAC/C,kEAAkE;IAClE,KAAK,EAAE;QACL,IAAI,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAC/C,QAAQ,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;QAChD,SAAS,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;KACnD,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,YAAY,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.0.1",
6
+ "version": "1.1.0",
7
7
  "description": "Generic bash tool for AI agents, compatible with AI SDK",
8
8
  "type": "module",
9
9
  "main": "dist/index.js",