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 +2 -2
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +13 -1
- package/dist/tool.js.map +1 -1
- package/dist/tools/bash.d.ts +2 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +6 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools-prompt.d.ts +59 -0
- package/dist/tools-prompt.d.ts.map +1 -0
- package/dist/tools-prompt.js +333 -0
- package/dist/tools-prompt.js.map +1 -0
- package/dist/types.d.ts +14 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
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 {
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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
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"}
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"
|
|
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.
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/bash.d.ts
CHANGED
|
@@ -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 */
|
package/dist/tools/bash.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/tools/bash.js
CHANGED
|
@@ -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");
|
package/dist/tools/bash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC5D,CAAC,CAAC;
|
|
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.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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":"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"}
|