bash-tool 1.3.14 → 1.3.15
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/dist/files/loader.d.ts +3 -2
- package/dist/files/loader.d.ts.map +1 -1
- package/dist/sandbox/just-bash.d.ts +2 -1
- package/dist/sandbox/just-bash.d.ts.map +1 -1
- package/dist/skills/parser.d.ts +2 -1
- package/dist/skills/parser.d.ts.map +1 -1
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +1 -0
- package/dist/tool.js.map +1 -1
- package/dist/tools/bash.d.ts +4 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +31 -4
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/read-file.d.ts +2 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/skill.d.ts +2 -1
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/write-file.d.ts +2 -1
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/files/loader.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
interface LoadFilesOptions {
|
|
2
2
|
files?: Record<string, string>;
|
|
3
3
|
uploadDirectory?: {
|
|
4
4
|
source: string;
|
|
5
5
|
include?: string;
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
interface FileEntry {
|
|
9
9
|
path: string;
|
|
10
10
|
content: Buffer;
|
|
11
11
|
}
|
|
@@ -20,4 +20,5 @@ export declare function streamFiles(options: LoadFilesOptions): AsyncGenerator<F
|
|
|
20
20
|
* Useful for tool prompts and OverlayFs.
|
|
21
21
|
*/
|
|
22
22
|
export declare function getFilePaths(options: LoadFilesOptions): Promise<string[]>;
|
|
23
|
+
export {};
|
|
23
24
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/files/loader.ts"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/files/loader.ts"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,eAAe,CAAC,EAAE;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAuB,WAAW,CAChC,OAAO,EAAE,gBAAgB,GACxB,cAAc,CAAC,SAAS,CAAC,CAgC3B;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB"}
|
|
@@ -17,7 +17,7 @@ export interface JustBashLike {
|
|
|
17
17
|
/**
|
|
18
18
|
* Options for creating a just-bash sandbox.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
interface JustBashSandboxOptions {
|
|
21
21
|
/** Initial files to populate the virtual filesystem */
|
|
22
22
|
files?: Record<string, string>;
|
|
23
23
|
/** Working directory */
|
|
@@ -47,4 +47,5 @@ export declare function isJustBash(obj: unknown): obj is JustBashLike;
|
|
|
47
47
|
* Wraps a just-bash Bash instance to conform to our Sandbox interface.
|
|
48
48
|
*/
|
|
49
49
|
export declare function wrapJustBash(bashInstance: JustBashLike): Sandbox;
|
|
50
|
+
export {};
|
|
50
51
|
//# sourceMappingURL=just-bash.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"just-bash.d.ts","sourceRoot":"","sources":["../../src/sandbox/just-bash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,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,EAAE,EAAE;QACF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7D,CAAC;CACH;AAED;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"just-bash.d.ts","sourceRoot":"","sources":["../../src/sandbox/just-bash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,aAAa,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,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,EAAE,EAAE;QACF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7D,CAAC;CACH;AAED;;GAEG;AACH,UAAU,sBAAsB;IAC9B,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,OAAO,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8D5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY,CAK5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CA2BhE"}
|
package/dist/skills/parser.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare function parseFrontmatter(content: string): SkillMetadata | null;
|
|
|
8
8
|
* This is everything after the frontmatter.
|
|
9
9
|
*/
|
|
10
10
|
export declare function extractBody(content: string): string;
|
|
11
|
-
|
|
11
|
+
interface DiscoverSkillsOptions {
|
|
12
12
|
/** Local directory containing skill subdirectories */
|
|
13
13
|
skillsDirectory: string;
|
|
14
14
|
/** Base path in sandbox where skills will be uploaded */
|
|
@@ -30,4 +30,5 @@ export declare function readSkillMd(skillMdPath: string): Promise<{
|
|
|
30
30
|
* List files in a skill directory (for listing available scripts).
|
|
31
31
|
*/
|
|
32
32
|
export declare function listSkillFiles(skillPath: string): Promise<string[]>;
|
|
33
|
+
export {};
|
|
33
34
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/skills/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/skills/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAqBtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,UAAU,qBAAqB;IAC7B,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,EAAE,CAAC,CA0C5B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAgB3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBzE"}
|
package/dist/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AAO9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,
|
|
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;AAO9E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,WAAW,CAAC,CAmKtB"}
|
package/dist/tool.js
CHANGED
|
@@ -166,6 +166,7 @@ export async function createBashTool(options = {}) {
|
|
|
166
166
|
onBeforeBashCall: options.onBeforeBashCall,
|
|
167
167
|
onAfterBashCall: options.onAfterBashCall,
|
|
168
168
|
maxOutputLength: options.maxOutputLength,
|
|
169
|
+
experimentalTeeTransform: options.experimentalTeeTransform,
|
|
169
170
|
});
|
|
170
171
|
const tools = {
|
|
171
172
|
bash,
|
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":"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"}
|
package/dist/tools/bash.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AfterBashCallInput, AfterBashCallOutput, BeforeBashCallInput, BeforeBashCallOutput, Sandbox } from "../types.js";
|
|
2
2
|
/** Default maximum length for stdout/stderr output (30KB) */
|
|
3
3
|
export declare const DEFAULT_MAX_OUTPUT_LENGTH = 30000;
|
|
4
|
-
|
|
4
|
+
interface CreateBashToolOptions {
|
|
5
5
|
sandbox: Sandbox;
|
|
6
6
|
/** Working directory for command execution */
|
|
7
7
|
cwd: string;
|
|
@@ -20,8 +20,11 @@ export interface CreateBashToolOptions {
|
|
|
20
20
|
* @default 30000
|
|
21
21
|
*/
|
|
22
22
|
maxOutputLength?: number;
|
|
23
|
+
/** Enable experimental TeePlugin transform for intermediate output capture. */
|
|
24
|
+
experimentalTeeTransform?: boolean;
|
|
23
25
|
}
|
|
24
26
|
export declare function createBashExecuteTool(options: CreateBashToolOptions): import("ai").Tool<{
|
|
25
27
|
command: string;
|
|
26
28
|
}, import("../types.js").CommandResult>;
|
|
29
|
+
export {};
|
|
27
30
|
//# sourceMappingURL=bash.d.ts.map
|
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":"
|
|
1
|
+
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,OAAO,EACR,MAAM,aAAa,CAAC;AAMrB,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,UAAU,qBAAqB;IAC7B,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;IACrC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAwFD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB;;wCAsEnE"}
|
package/dist/tools/bash.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { tool } from "ai";
|
|
2
|
+
import { BashTransformPipeline, TeePlugin } from "just-bash";
|
|
2
3
|
import { z } from "zod";
|
|
3
4
|
const bashSchema = z.object({
|
|
4
5
|
command: z.string().describe("The bash command to execute"),
|
|
@@ -16,7 +17,7 @@ function truncateOutput(output, maxLength, streamName) {
|
|
|
16
17
|
return `${output.slice(0, maxLength)}\n\n[${streamName} truncated: ${truncatedLength} characters removed]`;
|
|
17
18
|
}
|
|
18
19
|
function generateDescription(options) {
|
|
19
|
-
const { cwd, files, extraInstructions, toolPrompt } = options;
|
|
20
|
+
const { cwd, files, extraInstructions, toolPrompt, experimentalTeeTransform, } = options;
|
|
20
21
|
const lines = [
|
|
21
22
|
"Execute bash commands in the sandbox environment.",
|
|
22
23
|
"",
|
|
@@ -47,6 +48,15 @@ function generateDescription(options) {
|
|
|
47
48
|
lines.push(" grep -r 'pattern' . # Search file contents");
|
|
48
49
|
lines.push(" cat <file> # View file contents");
|
|
49
50
|
lines.push("");
|
|
51
|
+
if (experimentalTeeTransform) {
|
|
52
|
+
lines.push("INTERMEDIATE OUTPUT CAPTURE:");
|
|
53
|
+
lines.push("All commands in pipelines have their stdout captured to /tmp/bash-tool/.");
|
|
54
|
+
lines.push("The result includes a `teeFiles` array with `stdoutFile` paths for each command.");
|
|
55
|
+
lines.push("If you pipe output (e.g., `pnpm test | tail -5`), you can read the full output");
|
|
56
|
+
lines.push("of earlier pipeline stages without re-running:");
|
|
57
|
+
lines.push(" cat /tmp/bash-tool/*-pnpm.stdout.txt | grep something");
|
|
58
|
+
lines.push("");
|
|
59
|
+
}
|
|
50
60
|
if (extraInstructions) {
|
|
51
61
|
lines.push(extraInstructions);
|
|
52
62
|
lines.push("");
|
|
@@ -54,7 +64,7 @@ function generateDescription(options) {
|
|
|
54
64
|
return lines.join("\n").trim();
|
|
55
65
|
}
|
|
56
66
|
export function createBashExecuteTool(options) {
|
|
57
|
-
const { sandbox, cwd, onBeforeBashCall, onAfterBashCall, maxOutputLength = DEFAULT_MAX_OUTPUT_LENGTH, } = options;
|
|
67
|
+
const { sandbox, cwd, onBeforeBashCall, onAfterBashCall, maxOutputLength = DEFAULT_MAX_OUTPUT_LENGTH, experimentalTeeTransform, } = options;
|
|
58
68
|
return tool({
|
|
59
69
|
description: generateDescription(options),
|
|
60
70
|
inputSchema: bashSchema,
|
|
@@ -67,8 +77,24 @@ export function createBashExecuteTool(options) {
|
|
|
67
77
|
command = beforeResult.command;
|
|
68
78
|
}
|
|
69
79
|
}
|
|
70
|
-
|
|
71
|
-
|
|
80
|
+
let fullCommand;
|
|
81
|
+
let teeFiles;
|
|
82
|
+
if (experimentalTeeTransform) {
|
|
83
|
+
// Transform command with TeePlugin for intermediate output capture
|
|
84
|
+
const pipeline = new BashTransformPipeline().use(new TeePlugin({ outputDir: "/tmp/bash-tool" }));
|
|
85
|
+
const transformed = pipeline.transform(command);
|
|
86
|
+
// Prepend mkdir + cd to ensure the tee directory and working directory exist
|
|
87
|
+
fullCommand = `mkdir -p /tmp/bash-tool && cd "${cwd}" && ${transformed.script}`;
|
|
88
|
+
// Map tee metadata to succinct format
|
|
89
|
+
teeFiles = transformed.metadata.teeFiles.map((f) => ({
|
|
90
|
+
command: f.command,
|
|
91
|
+
stdoutFile: f.stdoutFile,
|
|
92
|
+
}));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Prepend cd to ensure commands run in the working directory
|
|
96
|
+
fullCommand = `cd "${cwd}" && ${command}`;
|
|
97
|
+
}
|
|
72
98
|
// Execute the command
|
|
73
99
|
let result = await sandbox.executeCommand(fullCommand);
|
|
74
100
|
// Truncate output if needed
|
|
@@ -76,6 +102,7 @@ export function createBashExecuteTool(options) {
|
|
|
76
102
|
...result,
|
|
77
103
|
stdout: truncateOutput(result.stdout, maxOutputLength, "stdout"),
|
|
78
104
|
stderr: truncateOutput(result.stderr, maxOutputLength, "stderr"),
|
|
105
|
+
...(teeFiles && { teeFiles }),
|
|
79
106
|
};
|
|
80
107
|
// Allow modification of result after execution
|
|
81
108
|
if (onAfterBashCall) {
|
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;AAEH,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/tools/bash.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Sandbox } from "../types.js";
|
|
2
|
-
|
|
2
|
+
interface CreateReadFileToolOptions {
|
|
3
3
|
sandbox: Sandbox;
|
|
4
4
|
/** Working directory for resolving relative paths */
|
|
5
5
|
cwd: string;
|
|
@@ -9,4 +9,5 @@ export declare function createReadFileTool(options: CreateReadFileToolOptions):
|
|
|
9
9
|
}, {
|
|
10
10
|
content: string;
|
|
11
11
|
}>;
|
|
12
|
+
export {};
|
|
12
13
|
//# sourceMappingURL=read-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,
|
|
1
|
+
{"version":3,"file":"read-file.d.ts","sourceRoot":"","sources":["../../src/tools/read-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAM3C,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB;;;;GAYpE"}
|
package/dist/tools/skill.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Skill } from "../skills/types.js";
|
|
2
|
-
|
|
2
|
+
interface CreateSkillToolOptions {
|
|
3
3
|
/** Registry of discovered skills */
|
|
4
4
|
skills: Skill[];
|
|
5
5
|
}
|
|
@@ -22,4 +22,5 @@ export declare function createSkillTool(options: CreateSkillToolOptions): import
|
|
|
22
22
|
files: string[];
|
|
23
23
|
error?: undefined;
|
|
24
24
|
}>;
|
|
25
|
+
export {};
|
|
25
26
|
//# sourceMappingURL=skill.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/tools/skill.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMhD,
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../src/tools/skill.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAMhD,UAAU,sBAAsB;IAC9B,oCAAoC;IACpC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AA4BD,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;GAmD9D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Sandbox } from "../types.js";
|
|
2
|
-
|
|
2
|
+
interface CreateWriteFileToolOptions {
|
|
3
3
|
sandbox: Sandbox;
|
|
4
4
|
/** Working directory for resolving relative paths */
|
|
5
5
|
cwd: string;
|
|
@@ -10,4 +10,5 @@ export declare function createWriteFileTool(options: CreateWriteFileToolOptions)
|
|
|
10
10
|
}, {
|
|
11
11
|
success: boolean;
|
|
12
12
|
}>;
|
|
13
|
+
export {};
|
|
13
14
|
//# sourceMappingURL=write-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/tools/write-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,
|
|
1
|
+
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/tools/write-file.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,UAAU,0BAA0B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B;;;;;GAatE"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ export interface CommandResult {
|
|
|
4
4
|
stdout: string;
|
|
5
5
|
stderr: string;
|
|
6
6
|
exitCode: number;
|
|
7
|
+
teeFiles?: Array<{
|
|
8
|
+
command: string;
|
|
9
|
+
stdoutFile: string;
|
|
10
|
+
}>;
|
|
7
11
|
}
|
|
8
12
|
export interface Sandbox {
|
|
9
13
|
executeCommand(command: string): Promise<CommandResult>;
|
|
@@ -136,6 +140,13 @@ export interface CreateBashToolOptions {
|
|
|
136
140
|
* @default 1000
|
|
137
141
|
*/
|
|
138
142
|
maxFiles?: number;
|
|
143
|
+
/**
|
|
144
|
+
* Enable experimental TeePlugin transform for intermediate output capture.
|
|
145
|
+
* When enabled, all pipeline commands have their stdout captured to /tmp/bash-tool/,
|
|
146
|
+
* allowing the LLM to read intermediate output without re-running commands.
|
|
147
|
+
* @default false
|
|
148
|
+
*/
|
|
149
|
+
experimentalTeeTransform?: boolean;
|
|
139
150
|
}
|
|
140
151
|
import type { createBashExecuteTool } from "./tools/bash.js";
|
|
141
152
|
import type { createReadFileTool } from "./tools/read-file.js";
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;
|
|
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;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3D;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,UAAU,CACR,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,GACvD,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;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,YAAY,CAAC;IAEjD;;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;IAErC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;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.3.
|
|
6
|
+
"version": "1.3.15",
|
|
7
7
|
"description": "Generic bash tool for AI agents, compatible with AI SDK",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"main": "dist/index.js",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"fast-glob": "^3.3.2",
|
|
47
47
|
"gray-matter": "^4.0.3",
|
|
48
|
+
"just-bash": "^2.10.2",
|
|
48
49
|
"zod": "^3.23.8"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
@@ -52,7 +53,6 @@
|
|
|
52
53
|
"@types/node": "^22.10.0",
|
|
53
54
|
"@vercel/sandbox": "^1.2.0",
|
|
54
55
|
"ai": "^6.0.13",
|
|
55
|
-
"just-bash": "^2.9.3",
|
|
56
56
|
"knip": "^5.80.0",
|
|
57
57
|
"typescript": "^5.7.0",
|
|
58
58
|
"vitest": "^2.1.0"
|